Php 是否可以使用json_encode检测密钥类型?
很难解释,但例如我有一个数组:Php 是否可以使用json_encode检测密钥类型?,php,json,Php,Json,很难解释,但例如我有一个数组: $lol = array( 'key' => 'value', 'key_1' => 'value 1', 'simple_value', '0' => 'lol', 'key_array' => array( 'key_in_second' => 'value_with_key_in_second', 'value_in_second_array', )
$lol = array(
'key' => 'value',
'key_1' => 'value 1',
'simple_value',
'0' => 'lol',
'key_array' => array(
'key_in_second' => 'value_with_key_in_second',
'value_in_second_array',
)
);
在json\u encode
之后
{"key":"value","key_1":"value 1","0":"lol","key_array":{"key_in_second":"value_with_key_in_second","0":"value_in_second_array"}}
那么,是否有可能检测到
php
数组中是否有键或注释?在我的示例中,元素'simple\u value',0'=>'lol'
具有相同的键。PHP不关心数字0是否在引号中。它将其存储为数字0,与“第二个数组中的值”相同,因为它是第一个没有键的元素
基本上
array('0'=>'lol')
与array(0=>'lol')
与array('lol')
相同
您将看到simple_value diss出现,因为它被lol覆盖。PHP不在乎数字0是否在引号中。它将其存储为数字0,与“第二个数组中的值”相同,因为它是第一个没有键的元素 基本上
array('0'=>'lol')
与array(0=>'lol')
与array('lol')
相同
您将看到simple_值显示,因为它被lol覆盖。JSON准确地反映了php。例如,如果您有以下代码:
<?php
$lol = array(
'key' => 'value',
'key_1' => 'value 1',
'simple_value',
'0' => 'lol',
'key_array' => array(
'key_in_second' => 'value_with_key_in_second',
'value_in_second_array',
)
);
print_r($lol);
这里发生的事情是,由于simple\u value
没有键,它被分配了一个0键,但随后被随后出现的lol
覆盖。您还可以查看第二个数组中的值是如何自动分配一个0键的
因此,与json\u encode
无关,您只是没有PHP中的数据。json准确地反映了PHP。例如,如果您有以下代码:
<?php
$lol = array(
'key' => 'value',
'key_1' => 'value 1',
'simple_value',
'0' => 'lol',
'key_array' => array(
'key_in_second' => 'value_with_key_in_second',
'value_in_second_array',
)
);
print_r($lol);
这里发生的事情是,由于simple\u value
没有键,它被分配了一个0键,但随后被随后出现的lol
覆盖。您还可以查看第二个数组
中的值是如何自动分配一个0键的
因此,与json\u encode
无关,您只是没有PHP中的数据。检测类型。正如您所显示的数组,所有内容都用引号括起来,因此PHP会将其作为字符串读取,从而将其作为字符串传输到json。@DarylGill您不明白,我需要知道inPHP
中的数组是否有键。检测类型。正如您所展示的数组,所有内容都用引号括起来,因此PHP会将其作为字符串读取,从而将其作为字符串传输到json。@DarylGill您不明白,我需要知道inPHP
中的数组是否有键。