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;?>"
        <? ifstrpos$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}
";
}

把你回复的代码中的 strpos$skills,$value 这个判断改成 ifstrpos$skills,$value !== false 因为可能匹配位置为 0 的 skills

首先你要知道strpos函数返回的是什么:

strpos 函数查找字符串在另一字符串中第一次出现的位置。
返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。
注释:字符串位置从 0 开始,不是从 1 开始。

因为你只是 ifstrpos$skills,$value 所以,你的 哈囉 位置在 0
你需要改成 当然也可以换成其他写法

ifstrpos$skills,$value !== false

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

strops返回 needle 存在于 haystack 字符串起始的位置独立于 offset。同时注意字符串位置是从0开始,而不是从1开始的。
如果没找到 needle,将返回 FALSE。

判断语句改成 ifstrpos$skills,$value !== false

strops函数

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

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

发表评论

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