繁体   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