PHP上移echo以填满空白区域

时间:2013-09-30 01:16:02

标签: php arrays isnullorempty

如何将数组结果填充到框中。如果先前的搜索结果为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; ?>
    }

  ?>

2 个答案:

答案 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';

?>