【问题标题】:PHP question about multidimensional array关于多维数组的PHP问题
【发布时间】:2019-04-02 15:18:29
【问题描述】:

我的数组如下所示:

Array ( [Bob] => Red [Joe] => Blue )

但它可以是任意数量的人,像这样:

Array ( [Bob] => Red [Joe] => Blue [Sam] => Orange [Carla] => Yellow)

基本上我希望 PHP 获取这个数组并回显它,以便它看起来像:

Bob - Red
Joe - Blue
Sam - Orange
Carla - Yellow

我知道我需要遍历数组,这是我尝试过的:

for ($row = 0; $row < count($array); $row++) {
echo $array[0] . " - " . $array[1];
}

我收到以下错误:未定义的偏移量:0,未定义的偏移量:1

我意识到这不起作用,因为当数组的值是字符串时,我试图使用索引。有什么方法可以将这样的位置索引与只包含字符串的多维数组一起使用?

谢谢

【问题讨论】:

  • 我认为这是一个关联数组,而不是多维数组...

标签: php arrays key-value


【解决方案1】:

你想要的是一个foreach 循环。

foreach ($array as $key => $value) {
    echo $key . ' - ' . $value;
}

(如果要换行,请在末尾附加"\n"

您的数组实际上不是多维的。一个例子是

array(
    array(
        'bob',
        'tom'
    )
);

注意数组数组中。

您的数组通常称为关联数组。

【讨论】:

  • 你也应该使用\n
【解决方案2】:

无需重新检查我的php知识:

foreach($array as $key => $value) {
    echo "$key - $value<br />\n";
}

【讨论】:

  • 你也应该使用\n
【解决方案3】:

你需要一个foreach

<?php 
$arr = array("bob" => "red", "paul" => "blue", "preo" => "yellow", "garis" => "orange");
foreach ($arr as $key => $value) {
    echo $key ." - ".$value."<br />";
}
?>

将打印:

bob - red
paul - blue
preo - yellow
garis - orange

顺便说一句,它是associative 数组,而不是multidimensional 数组,更像是:

$array[1][0][3]

【讨论】:

  • 啊,这很好用。感谢您的回复,难怪我找不到任何可行的方法——我一直在寻找多维
猜你喜欢
  • 2011-02-09
  • 1970-01-01
  • 2011-04-24
  • 1970-01-01
  • 2020-05-18
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
相关资源
最近更新 更多