簡體   English   中英

循環遍歷二維數組

[英]Loop through a two-dimensional array

我有一個看起來像這樣的數組:

$array = array(
    array(
        "http://google.com",
        "Google"
    ),

    array(
        "http://yahoo.com",
        "Yahoo"
    )
);

循環遍歷它的最簡單方法是什么。 就像是:

foreach ($array as $arr) {
    // help
}

編輯:我如何定位鍵,例如,我想做:

foreach ($array as $arr) {
    echo '<a href" $key1 ">';
    echo ' $key2 </a>';
}

使用嵌套的foreach()因為它是二維數組。 示例在這里

foreach($array as $key=>$val){ 
    // Here $val is also array like ["Hello World 1 A","Hello World 1 B"], and so on
    // And $key is index of $array array (ie,. 0, 1, ....)
    foreach($val as $k=>$v){ 
        // $v is string. "Hello World 1 A", "Hello World 1 B", ......
        // And $k is $val array index (0, 1, ....)
        echo $v . '<br />';
    }
}

首先foreach() $val也是一個數組。 所以使用了嵌套的foreach() 在第二個foreach() $v是字符串。

根據您的需求更新

foreach($array as $val){
    echo '<a href="'.$val[0].'">'.$val[1].'</a>';
}

為了回顯這些位,您必須在每個數組中選擇它們的索引 -

foreach($array as $arr){
    echo '<a href="'.$arr[0].'">'.$arr[1].'</a>';
}

這是一個例子

遍歷它的最簡單方法是:

foreach ($array as $arr) {
    foreach ($arr as $index=>$value) {
        echo $value;
    }
}

編輯

如果你知道你的數組總是只有兩個索引,那么你可以試試這個:

foreach ($array as $arr) {
    echo "<a href='$arr[0]'>$arr[1]</a>";
}

首先像這樣修改你的變量:

$array = array(
          array("url"=>"http://google.com",
                "name"=>"Google"
          ),
          array("url"=>"http://yahoo.com",
                "name"=>"Yahoo"
          ));

然后你可以像這樣循環:

foreach ($array as $value)
{ 
   echo '<a href='.$value["url"].'>'.$value["name"].'</a>'
}

循環的方法是,

foreach($array as $arr)
foreach($arr as $string) {
        //perform any action using $string
}

使用第一個不帶{ } foreach 循環以實現最簡單的使用。

這可能是根據您的請求使用嵌套數組的最簡單方法。

對於您編輯的問題。

使用密鑰的數組聲明錯誤。

$array = array( 
    "http://google.com" => "Google",
    "http://yahoo.com" => "Yahoo" );

然后,使用以下內容。

foreach ($array as $key => $value)
    echo "<a href='{$key}'>{$value}</a>";

這不會降低服務器的性能。

在現代版本的 php 中,您可以為您選擇的變量分配(解構)子數組值。

一個很好的教程: https : //stitcher.io/blog/array-destructuring-with-list-in-php

代碼:(演示

$array = [
    ["http://example1.com", "Example 1"],
    ["http://example2.com", "Example 2"]
];

foreach ($array as [$key1, $key2]) {
    echo "<a href=\"$key1\">$key2</a>\n";
}

輸出:

<a href="http://example1.com">Example 1</a>
<a href="http://example2.com">Example 2</a>

老實說,我可能會分別命名變量$url$text

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM