加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP array_keys – 我做错了什么?

发布时间:2020-12-13 16:11:49 所属栏目:PHP教程 来源:网络整理
导读:我有两个数组: $字段名: array([0] = array( ['fieldName'] ='id' ['fieldType'] = 'int(11)' )[1] = ['fieldName'] ='adminID' ['fieldType'] ='int(11)' )[2] =array( ['fieldName'] ='schoolID' ['fieldType'] ='int(11)' )[3] = array( ['fieldName']
我有两个数组:

$字段名:

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_key_exists检查数组2是否缺少任何内容:
array_key_exists

$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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读