我有两个数组:PHP array_keys - 我做错了什么?
$字段名:
array(
[0] => array(
['fieldName'] =>'id'
['fieldType'] => 'int(11)'
)
[1] =>
['fieldName'] =>'adminID'
['fieldType'] =>'int(11)'
)
[2] =>array(
['fieldName'] =>'schoolID'
['fieldType'] =>'int(11)'
)
[3] => array(
['fieldName'] =>'lessonPlanName'
['fieldType'] =>'varchar(255)'
)
[4] =>array(
['fieldName'] =>'lessonPlanAssignmentDate'
['fieldType'] =>'varchar(255)'
)
[5] =>array(
['fieldName'] =>'lessonPlanDueDate'
['fieldType'] =>'varchar(255)'
)
[6] =>array(
['fieldName'] =>'lessonPlanTopics'
['fieldType'] =>'varchar(255)'
)
[7] =>array(
['fieldName'] =>'lessonPlanDescription'
['fieldType'] =>'text'
)
[8] =>array(
['fieldName'] =>'lessonPlanNotes'
['fieldType'] =>'text'
)
)
$ formElementPairs:
array(
['lessonPlanName'] =>'Test'
['lessonPlanAssignedDate'] =>'05/11/2011'
['lessonPlanDueDate'] =>'05/11/2011'
['lessonPlanTopics'] => 1
['lessonPlanDescription'] =>'test'
)
我想请检查阵列2是缺少任何数组1中'fieldName'键的值,然后使用空条目将它们添加到数组2中。下面的代码的工作原理是,我从第一个数组(id,adminId,schoolId等)获取“fieldName”值,但是当我使用array_keys检查第二个数组时,我的结果数组始终有一个数0.还应该提到我在这个项目上使用PHP4卡住了。
//merge arrays
for($fn=0; $fn<count($fieldNames); $fn++) {
$thisFieldName = $fieldNames[$fn]['fieldName'];
$fieldCheckArray = array_keys($formElementPairs, $thisFieldName);
//$firephp->fb(count($fieldCheckArray));
}
我误解array_keys和/或是否有一个更优雅的方式来做到这一点在PHP4?
感谢
我会尝试,但任何想法为什么array_keys不会按照我使用它的方式工作? – PruitIgoe 2011-05-10 18:33:16
@pruitigoe'array_keys'返回为传递的**值**找到的键的数组。查看[文档](http://php.net/manual/en/function.array-keys.php) – 2011-05-10 18:50:40