www.yzc577.comphp 在值中找字串

( www.yzc577.com )

每個用戶有一個欄位叫做skills
可以是 哈囉,你好,再見,不錯,太棒了 但每個人都不太一樣
我要怎样找出該欄位的字元
若他的skills欄位有 太棒了 則顯示checked..類似這樣?

補充

<? $skills = $SQLROW['skills'];?>
 <? foreach($t as $key=>$value){  ?>
     <input type="checkbox" name="skills_profile[]" id="profile<? echo $key;?>" value="<? echo $value;?>"
        <? if(strpos($skills,$value))
  {
   echo 'checked';
  }
   ?>>
        <label for="profile<? echo $key;?>"><? echo $value;?></label>
        <? } ?>

分明有哈囉,你好,再見,不錯,太棒了
但是他卻只要 你好,再見,不錯,太棒了 有checked?
這是哪裡有問題?

没太看懂你的意思,不知道这是不是你要的

<?php
$sys_arr = explode(',','哈囉,你好,再見,不錯,太棒了');
$skills = explode(',','你好,再見');
foreach($sys_arr as $v){
    $ck = in_array($v,$skills)?' checked':'';
    echo "<input type='checkbox' value='{$v}'{$ck}>{$v}\n";
}

把你复兴的代码中的 strpos($skills,$value) 这个判别改成 if(strpos($skills,$value) !== false) 由于可以婚配地位为 0 的 skills

起首你要知道strpos函数前往的是什么:

strpos() 函数查找字符串在另一字符串中第一次呈现的地位。
前往字符串在另一字符串中第一次呈现的地位,假如没有找到字符串则前往 FALSE。
注释:字符串地位从 0 末尾,不是从 1 末尾。

由于你只是 if(strpos($skills,$value)) 以是,你的 哈囉 地位在 0
你需求改成 (固然也可以换成其他写法)

if(strpos($skills,$value) !== false)

参考衔接:
http://www.w3school.com.cn/ph…

strops()前往 needle 存在于 haystack 字符串肇始的地位(独立于 offset)。同时留意字符串地位是从0末尾,而不是从1末尾的。
假如没找到 needle,将前往 FALSE。

判别语句改成 if(strpos($skills,$value) !== false)

strops函数

写sql语句时 select id from table where skills like ‘%太棒了%’

(看完/读完)这篇文章有何感想! www.yzc577.com的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注