我有一个类似于
的数组(myArray)Array(
[0] => Computer
[1] => House
[2] => Phone
)
我正在尝试将每个值动态设置为一个数字,例如
$newValues = [
"computer" => 0,
"House" => 1,
"Phone" => 2,
];
我有以下循环
$y = 0;
for ($x = 0; $x < count($myArray); x++){
$values = [
$myArray[$x] = ($y+1)
];
y++;
}
这不正确地产生
Array(
[0] => 3
)
答案 0 :(得分:2)
您可以使用array_flip($ arr)。 link
答案 1 :(得分:1)
如果我理解,您希望使用键翻转值,请尝试使用array_flip()
。
如果首先使用数组,请尝试在PHP Array functions中进行一些研究。 ;)
答案 2 :(得分:1)
使用array_flip()
- 使用数组中的关联值交换所有键
<?php
$a1=array("0"=>"Computer","1"=>"House","2"=>"Phone");
$result=array_flip($a1);
print_r($result);
?>
然后输出:
Array
(
[Computer] => 0
[House] => 1
[Phone] => 2
)
了解更多信息
答案 3 :(得分:0)
就像其他人所说的那样,array_flip会起作用,但是,您编写的代码中的实际问题是:
$myArray[$x] = ($y+1)
应为$myArray[$x] => ($y+1)
然而,这种类型的任务确实不是必要的,因为下一个问题会显示出来:
要附加到$值,您可以使用:
$values[$myArray[$x]] = $y+1;