我有一個欄位叫做skills
值是1,2,3
是使用者checkbox 後implode成數組
然後我用以下方式將每個數組印出
$String = $row['skills'];
$Arr = explode(',',$String);
for($index=0;$index<count($Arr);$index++)
{
if($Arr[$index]!='')
{
echo $Arr[$index];
}}
這樣可以把所有數組都印出
但我想問一下
可不可以只印出前面兩個數組
後面不顯示?
假設我有1,2,3
我只顯示前面的1,2 但3以後的都不顯示
假設我只有1,2
也一樣顯示1,2
我只有1 也只顯示1
PHPz2017-04-10 17:36:42
如果只有2个的话,可以用in_array处理。
$String = $row['skills'];
$Arr = explode(',',$String);
foreach($Arr as $item)
{
if(in_array($item,['1','2']))
{
echo $item;
}}
如果多的话,那就排序,然后判断当前是否大于最后那个,如果大于的话就结束。
$String = $row['skills'];
$Arr = explode(',',$String);
foreach($Arr as $item)
{
if($item<=2)
{
echo $item;
}else {
return;
}
}