如何将数组结果填充到框中。如果先前的搜索结果为null,它应该继续向上移动以填充空白区域并进行后续搜索。如果之前的搜索不为空,则后续搜索将相应地填充在自己的位置。
箱
结果1 //在$ Arr1上搜索'X'
结果2 //在$ Arr2上搜索'X'。如果结果1为空,则向上移动
结果3 //在$ Arr3上搜索'X'。如果结果1或2为空,则向上移动
我尝试了以下代码,但如果前面的搜索为空,它或者不会向上移动以填充空白空间,如果多个结果不为空,它也不会相应地填满。
<?php
if (($pos1 = array_search('X', $Arr1, true)) !=== null){
echo $pos1; ?><br />
<?
} else {
if (($pos2 = array_search('X', $Arr2, true)) !=== null){
echo $pos2; ?><br />
<?
} else {
if (($pos3 = array_search('X', $Arr3, true)) !=== null){
echo $pos3; ?>
}
?>
答案 0 :(得分:1)
试试这个:
<?php
if (($pos1 = array_search('X', $Arr1, true)) !== null)
echo $pos1."<br />";
else if (($pos2 = array_search('X', $Arr2, true)) !== null)
echo $pos2."<br />";
else if (($pos3 = array_search('X', $Arr3, true)) !== null)
echo $pos3;
&GT;
答案 1 :(得分:0)
我不确定我是否理解得很好,但您可以尝试ternary operator:
<?php
echo array_search('X', $Arr1, true)
?: array_search('X', $Arr2, true)
?: array_search('X', $Arr3, true)
?: 'default_value';
?>