PHP数组_键-我做错了什么?
我有两个阵列: $fieldNames:PHP数组_键-我做错了什么?,php,arrays,key,Php,Arrays,Key,我有两个阵列: $fieldNames: array( [0] => array( ['fieldName'] =>'id' ['fieldType'] => 'int(11)' ) [1] => ['fieldName'] =>'adminID' ['fieldType'] =>'int(11)' ) [2] =>array( ['fieldName'] =>'schoolID' [
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_键将它们与第二个数组进行检查时,生成的数组的计数始终为0。还应该提到的是,我一直在这个项目上使用PHP4
//merge arrays
for($fn=0; $fn<count($fieldNames); $fn++) {
$thisFieldName = $fieldNames[$fn]['fieldName'];
$fieldCheckArray = array_keys($formElementPairs, $thisFieldName);
//$firephp->fb(count($fieldCheckArray));
}
//合并数组
对于($fn=0;$fnfb(count($fieldCheckArray));
}
我是否误解了数组_键和/或在PHP4中是否有更优雅的方法来实现这一点
谢谢您可以使用
数组\u键\u exists
检查数组2是否缺少任何内容:
数组\密钥\存在
$missing = array();
for($fn=0; $fn<count($fieldNames); $fn++) {
$thisFieldName = $fieldNames[$fn]['fieldName'];
if(!array_key_exists($thisFieldName, $formElementPairs)) {
$missing[] = $thisFieldName;
}
}
//do something with $missing
$missing=array();
对于($fn=0;$fnarray\u keys
的第二个参数试图匹配值,而不是$formElementPairs
我会试试,但知道为什么array\u keys不能像我使用它的方式工作吗?@pruitigoearray\u keys
返回为传递的值找到的键数组。请参阅本示例(第二个)在w3schools:看看这个例子(第二个)在w3schools:
结果将是数组([0]=>c)这不是通过检查键的值来获得匹配结果吗?