dm0*_*514 64 php arrays dictionary
我来自python背景,类似的python数据类型(字典)是一组无序的键值对.
我想知道PHP关联数组是否是无序的?它们似乎是订购的.
$test = array(
'test' => 'test',
'bar' => 'bar',
);
var_dump($test);
var_dump(array_slice($test, 0, 1));
Run Code Online (Sandbox Code Playgroud)
测试总是在bar之前,我可以按照你的看到切片.那么这总是保证在php版本之间订购吗?订单只是我声明数组的顺序吗?所以有些内部指向'test'将[0]放在数组中?我已经阅读了http://php.net/manual/en/language.types.array.php,但它没有对这个问题有太多了解.感谢您的回复.泰
Mic*_*ski 59
PHP关联阵列(以及数字阵列)是有序的,并且PHP提供的各种功能来处理所述阵列的键排序等ksort(),uksort()和krsort()
此外,PHP允许您使用数字键无序地声明数组:
$a = array(3 => 'three', 1 => 'one', 2 => 'two');
print_r($a);
Array
(
[3] => three
[1] => one
[2] => two
)
// Sort into numeric order
ksort($a);
print_r($a);
Array
(
[1] => one
[2] => two
[3] => three
)
Run Code Online (Sandbox Code Playgroud)
PHP中的数组实际上是一个有序映射.映射是将值与键关联的类型.此类型针对多种不同用途进行了优化; 它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多.由于数组值可以是其他数组,因此树和多维数组也是可能的.
该文件规定:
An array in PHP is actually an ordered map.
Run Code Online (Sandbox Code Playgroud)
所以,是的,他们总是被订购.数组实现为哈希表.
| 归档时间: |
|
| 查看次数: |
20456 次 |
| 最近记录: |