【问题标题】:How to check if value exists and print it in the same order as in array?如何检查值是否存在并以与数组相同的顺序打印?
【发布时间】:2018-10-27 18:04:35
【问题描述】:

我正在尝试使用 jQuery UI 创建一个可排序的列表。在后端,一切似乎都运行良好。数组正在正确发送,但我在前端显示正确的列表顺序时遇到了一些问题。


这是我的数组的样子。 print_r($results)

Array
(
   [0] => Array
         (
            [0] => "B"
            [1] => "A"
            [3] => "E"
         )
)

我正在检查数组中是否存在特定值:

<?php 
$letters = $myarray;
preg_match_all('/".*?"/', $letters, $results);
    if(in_array("A", $results, true)) { ?> 
      <span><i class="icon"></i>Letter A exists</span>
<?php  } 
    if(in_array("B", $results, true)) { ?> 
      <span><i class="icon"></i>Letter B exists</span>
<?php  }  
    if(in_array("C", $results, true)) { ?> 
      <span><i class="icon"></i>Letter C exists</span>
<?php  }  
    if(in_array("D", $results, true)) { ?> 
      <span><i class="icon"></i>Letter D exists</span>
<?php  }  
    if(in_array("E", $results, true)) { ?> 
      <span><i class="icon"></i>Letter E exists</span>
<?php  } ?>   
...

之后我想以与数组中相同的顺序显示结果:

<span><i class="icon"></i>Letter B exists</span>
<span><i class="icon"></i>Letter A exists</span>
<span><i class="icon"></i>Letter E exists</span>

我怎样才能以正确的方式做到这一点?

【问题讨论】:

    标签: php arrays jquery-ui-sortable


    【解决方案1】:

    只需简单地循环遍历$results

    foreach ($results[0] as $letter){
        printf('<span><i class="icon"></i>Letter %s exists</span>', $letter);
    }
    

    这将以正确的顺序输出您的 html 节点。

    【讨论】:

      【解决方案2】:

      您可能想使用 PHP 中的 array_intersect() 函数。为此,您必须创建一个字母数组,然后对照该新数组检查 $results。这是一个例子:

      <?php 
      $results = [['B', 'A', 'E']];
      $matches = array_intersect($results[0], ['A','B','C','D','E']);
      foreach($matches as $match){
          echo "<span><i class='icon'></i>Letter $match exists</span><br>";
      }
      

      【讨论】:

        【解决方案3】:

        检查下面的代码,修改你的代码并给出结果。

        <?php
        $myarray = array("0" => array("0" => "B","1" => "A","3" => "E"));
        print_r($myarray[0]);
        
        $letters = $myarray[0];
        
        if(in_array("A", $letters, true)) { 
            echo '<span><i class="icon"></i>Letter A exists</span>';
        } 
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-08-16
          • 1970-01-01
          • 1970-01-01
          • 2020-02-04
          • 2017-04-25
          • 1970-01-01
          • 2012-06-10
          • 1970-01-01
          相关资源
          最近更新 更多