dongxiong5546 2014-09-27 00:29
浏览 66
已采纳

如何检查字符串是否包含存储在数组中的字符,但如果字符串包含不在数组中的任何字符,则返回false

Basically I'm checking days of the week from an array to a string based on an initialization of the day for instance:

<?php
$check_days = array("M", "T");
$days1 = "MTW";
$days2 = "M";
[insert code to compare $check_days to $days1 and $days2 so that $days1 returns FALSE while $days2 returns TRUE]
?>
  • 写回答

3条回答 默认 最新

  • duanbi3151 2014-09-27 00:34
    关注

    Try using a regex character class and implode:

    if (preg_match('/^['.implode($check_days).']+$/', $days1)) {
        // do some stuff
    }
    

    EDIT: Let me help explain what's going on here:

    implode($check_days)
    

    This combines all the elements of an array into a single string. In your case, this is "MT".

    preg_match('/^[MT]+$/', $days1);
    

    This is a regular expression that checks that after the 'beginning' (^), $days1 contains either an "M" or a "T" ([MT]), repeated one or more times (+), then the string ends ($). It returns true if this is the case.

    Hope that helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败