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”]中的值,是否可能? BTW该数组是从mysql数据库创建的。
答案 0 :(得分:1)
使用' url'创建一个新的关联数组。作为关键。
$newArray = [];
foreach ($oldArray as $row) {
$newArray[$row['url']] = $row;
}
显然,如果你有两行具有相同值的' 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;
}
}