【问题标题】:How to get each item in array without foreach如何在没有foreach的情况下获取数组中的每个项目
【发布时间】:2018-06-05 10:36:37
【问题描述】:

我有一个数组,用于存储从 csv 文件读取的一些值。我可以成功读取csv文件。

我需要的是使用数组中的元素(如 echo username )而不使用像 foreach 或 for 这样的循环。我只需要从数组中获取单个值而不使用任何循环。

更新

我的数组是这样的,

Array
(
    [0] => Array
        (
            [0] => base
            [1] => accounts@oakmaninns.co.uk
            [2] => Attleborough
            [3] => Oakman Inns & Restaurants
            [4] => GB
            [5] => 
            [6] => James
            [7] => Collins
            [8] => 
            [9] => NR17 1YE
            [10] => 
            [11] => Norfolk
            [12] => 0
            [13] => c/o LT Management Services Ltd 31 Haverscroft Ind Est New Road
            [14] => 
            [15] => 01953 450054
            [16] => 
            [17] => 1
            [18] => 1
        )

)

【问题讨论】:

  • 好吧,祝你好运。如果您成功了,请告诉我们
  • echo $array[random_int(0, count($array))]; 给你一个没有任何循环的单一值:)
  • 好的,所以我们不知道你的数组是什么样子,为什么你不能使用 foreach,你想要什么作为输出并且你没有尝试......祝你好运吗?
  • 所以要在上面的数据中获取国家/地区目标您需要的索引,例如:echo $data[0][4];

标签: php arrays loops foreach


【解决方案1】:

您可以使用带有匿名函数的数组函数来执行类似回显的操作。但通常一个 foreach 循环就可以了,而且可能更容易阅读:

<?php

$peeps = [
    [
        'name' => 'Foo',
        'age' => 23
    ],
    [
        'name' => 'Bar',
        'age' => 47
    ]
];

array_walk($peeps, function($v) {
    echo 'Name: ' . $v['name'] , ', Age: ' . $v['age'], "\n";
});

输出:

Name: Foo, Age: 23
Name: Bar, Age: 47

比较一下:

foreach($peeps as $v)
    echo 'Name: ' . $v['name'] , ', Age: ' . $v['age'], "\n";

输出:

Name: Foo, Age: 23
Name: Bar, Age: 47

【讨论】:

    【解决方案2】:

    或许可以选择使用list,例如:

    $arrays = [
        [
            "base",
            "accounts@oakmaninns.co.uk"
        ]
    ];
    list($var1, $var2) = $arrays[0];
    
    echo $var1;
    echo $var2;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      相关资源
      最近更新 更多