簡體   English   中英

如何將數組鍵替換為其他鍵的值?

[英]How can I replace my array key to value in other key?

array(22) {
  [0]=>
  array(5) {
    ["name"]=>
    string(33) "White shirt - blue logo"
    ["price"]=>
    string(5) "10.00"
    ["img"]=>
    string(5) "2.jpg"
    ["text"]=>
    string(865) "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
    ["url"]=>
    string(26) "voltarity-white-red-shirt2"
  }
another array...
another array...
}

因此,我想將數組鍵[0]更改為[“ url”]中的值,可以嗎? 順便說一句,該數組是從mysql數據庫創建的。

只需使用“ url”作為鍵來創建一個新的關聯數組。

$newArray = [];
foreach ($oldArray as $row) {
    $newArray[$row['url']] = $row;
}

顯然,如果您有2行的'url'值相同,則第二行將覆蓋第一行。 如果需要允許多個行的“ url”具有相同的值,則可以使用此循環。

$newArray = [];
foreach ($oldArray as $row) {
    if (isset($newArray[$row['url']]) {
        if (is_array($newArray[$row['url']])) {
            $newArray[$row['url']][] = $row;
        } else {
            $newArray[$row['url']] = array($newArray[$row['url']], $row);
        }
    } else {
        $newArray[$row['url']] = $row;
    }
}

暫無
暫無

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

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