【问题标题】:How to get a specific data from array?如何从数组中获取特定数据?
【发布时间】:2014-03-22 16:45:00
【问题描述】:

现在我在检索数据表单数组时遇到问题,也许它真的很简单(可能是这样)但我从早上起就一直在努力解决它,看来我对 PHP 的了解一文不值......所以我有几个数组:

array( "name" => "Array 1",
    "type" => "array"),

array( "name" => "Array 2",
    "type" => "whatever"),

array( "name" => "Array 3",
    "type" => "whatever"),

array( "name" => "Array 4",
    "type" => "array"),

array( "name" => "Array 5",
    "type" => "whatever"),

我需要做的是显示'array'类型的数组的'name',我知道我需要一个foreach循环但是如何构造'foreach($arrays as $array){'以获得所需的结果?

编辑

感谢所有回复,但我认为我没有说清楚。仅当数组中存在“类型”=>“数组”时才需要显示“名称”,其他数组的“名称”应省略。

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    你需要这样做:

    foreach($arrays as $array) {
        if($array['type'] == 'array') {
            print($array['name']);
        }
    }
    

    【讨论】:

    • 谢谢,但这就是我已经能够做到的,请参阅我的问题中的编辑 :)
    • 应该符合你的“条件”
    • 是的,这就是我要找的 :) 谢谢!
    【解决方案2】:

    array_map 就可以了

    array_map(function ($v){ if($v['type']=="array"){echo $v['name']."<br>";}},$arr);
    

    OUTPUT :

    Array 1
    Array 4
    

    Demo

    【讨论】:

    • 谢谢,但这就是我已经能够做到的,请参阅我的问题中的编辑 :)
    • 我不能选择两个合适的答案,我使用了另一个,因为添加'if'循环更简单,但你的也很好。谢谢!
    【解决方案3】:

    先将数组放入一个“容器”数组中,然后你就可以使用那个了...

    <?php
    
    $data = array(
    
        array( "name" => "Array 1",
            "type" => "array"),
    
        array( "name" => "Array 2",
            "type" => "whatever"),
    
        array( "name" => "Array 3",
            "type" => "whatever"),
    
        array( "name" => "Array 4",
            "type" => "array"),
    
        array( "name" => "Array 5",
            "type" => "whatever")
    );
    
    foreach($data as $array) {
        if($array['type'] == 'array') {
          print($array['name']);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-05-14
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      相关资源
      最近更新 更多