如何从嵌套数组 (php) 创建散列 table
How to create hash table from nested array (php)
我有一个包含我需要的信息的嵌套数组。
array(66) {
[0]=>
array(2) {
["key"]=>
string(1) "9"
["value"]=>
string(1) "9"
}
[1]=>
array(2) {
["key"]=>
string(3) "104"
["value"]=>
string(1) "3"
}
[2]=>
array(2) {
["key"]=>
string(3) "105"
["value"]=>
string(1) "1"
}
...
但是,这种格式不是很有用。更有用的是
[9]=>9
[104]=>3
[105]=>1
等等。
不幸的是我的尝试
foreach ($arrayname as $key => $value) {
$i= ((int) $value);
$hashmap[$i] = ($value["value"]);
}
至今只记录了最终的值,没有关联的key
数组(1){ [1]=> 字符串(3)“360”}。注意:密钥存储为字符串还是整数都没有关系!
这已经是哈希映射数组。所以你应该那样使用它。
我想你对这里的键 0, 1, ..
不感兴趣。
$hashmap = array();
foreach ($arr as $value) {
$hashmap[$value["key"]] = $value["value"];
}
然后您可以使用 key/value pair foreach 方法来检查这是否有效:
foreach($hashmap as $key => $value){
echo 'map['.$key.']='.$value." \n<br/>";
}
您的数组是二维的。所以第一个维度代表一个 key/value 对。您的解决方案是从第一个维度而不是第二个维度获取密钥。
$hashmap = [];
foreach($arrayname as $pair) {
$key = $pair['key'];
$value = $pair['value'];
$hashamp[$key] = $value;
}
我有一个包含我需要的信息的嵌套数组。
array(66) {
[0]=>
array(2) {
["key"]=>
string(1) "9"
["value"]=>
string(1) "9"
}
[1]=>
array(2) {
["key"]=>
string(3) "104"
["value"]=>
string(1) "3"
}
[2]=>
array(2) {
["key"]=>
string(3) "105"
["value"]=>
string(1) "1"
}
...
但是,这种格式不是很有用。更有用的是
[9]=>9
[104]=>3
[105]=>1
等等。
不幸的是我的尝试
foreach ($arrayname as $key => $value) {
$i= ((int) $value);
$hashmap[$i] = ($value["value"]);
}
至今只记录了最终的值,没有关联的key 数组(1){ [1]=> 字符串(3)“360”}。注意:密钥存储为字符串还是整数都没有关系!
这已经是哈希映射数组。所以你应该那样使用它。
我想你对这里的键 0, 1, ..
不感兴趣。
$hashmap = array();
foreach ($arr as $value) {
$hashmap[$value["key"]] = $value["value"];
}
然后您可以使用 key/value pair foreach 方法来检查这是否有效:
foreach($hashmap as $key => $value){
echo 'map['.$key.']='.$value." \n<br/>";
}
您的数组是二维的。所以第一个维度代表一个 key/value 对。您的解决方案是从第一个维度而不是第二个维度获取密钥。
$hashmap = [];
foreach($arrayname as $pair) {
$key = $pair['key'];
$value = $pair['value'];
$hashamp[$key] = $value;
}