如何检查用户在PHP中设置或不设置数组键〜?

时间:2011-03-16 05:48:42

标签: php arrays

E.g:

我在PHP中创建了一个数组:

$arr1 = array('123','3434','43434');

$arr2 = array('45'=>'24','56'=>'34');

所以,我想检查$ arr1的密钥是不是由用户设置的,而$ arr2的密钥是由用户设置的??

换句话说,我可以这样做吗:

if('key was set by PHP'){ // 
  // do something
}
else{
 // key was set by user.do something...
}

非常感谢!!

2 个答案:

答案 0 :(得分:3)

PHP不会跟踪在数组中设置项目的操作。

因此,您无法确定是否已自动确定密钥(作为最大整数键+ 1)或由编写PHP脚本的开发人员定义。

如果开发人员设置的字符串(而不是整数 - 请注意'45'计为整数,当用作数组键时),您可以执行某些操作:PHP生成的密钥将是唯一的整数。
但是,由于这不是你的情况(所有键都是整数,无论​​是由开发人员编写还是自动创建),你都无法做到。

答案 1 :(得分:0)

你必须掌控

$arr2 = array('45'=>'24','56'=>'34');

所以,你可以做的是在键中添加一些字符,以识别它已被用户添加:

eg: $arr2 = array('u45'=>'24','u56'=>'34');