0

我应该如何将数组结果填充到一个框中。如果之前的搜索结果为空,它应该继续向上移动以填充后续搜索的空白空间。如果先前的搜索不为空,则后续搜索将相应地填充到其自己的位置。

方框
结果 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; ?>
    }

  ?>
4

2 回答 2

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;

?>

于 2013-09-30T01:21:39.610 回答
0

我不确定我是否理解得很好,但你可以试试三元运算符

<?php

    echo array_search('X', $Arr1, true)
         ?: array_search('X', $Arr2, true)
         ?: array_search('X', $Arr3, true)
         ?: 'default_value';

?>
于 2013-09-30T01:20:29.643 回答