在PHP中定义数组时使用双箭头和单冒号有什么区别

时间:2019-05-21 15:30:44

标签: php

我通常使用

 $header = array(
    'Content-type: application/json',
    'x-app-key: 123'
 );

定义一个数组,有时我用

$header = array(
    'Content-type' => 'application/json',
    'x-app-key' => '123'
);

有时一个可行,而另一个则不可行。

请问这两种在PHP中定义数组的方式有什么区别?谢谢。

1 个答案:

答案 0 :(得分:0)

完全不同。当您使用

 $header = array(
    'Content-type: application/json',
    'x-app-key: 123'
 );

您只是定义一个字符串数组。数组应该是

array(2) { 
    [0]=> string(30) "Content-type: application/json" 
    [1]=> string(14) "x-app-key: 123" 
}

但是,如果您使用

$header = array(
    'Content-type' => 'application/json',
    'x-app-key' => '123'
);

您将创建一个关联数组,就像这样

array(2) { 
     ["Content-type"]=> string(16) "application/json" 
     ["x-app-key"]=> string(3) "123" 
}

请参阅this文档以获取完整说明

希望有帮助!