PHP访问数组值

时间:2016-05-31 03:09:37

标签: php arrays

我正在尝试访问我创建的数组的值,但它似乎失败了。

我循环遍历发送VIA http的数组,并将docnoentryno添加到名为$ArrID的新数组中,它可以添加到新数组中,但是当我尝试访问ArrID它似乎从array本身得不到任何内容,而我确信ArrID包含项目

CODE

$ArrID = [];
foreach ($form_data_body as $key => $value) {
  $docno = $value -> doc_no;
  $entryno = $value -> entryno;
  if($mysqli->query($sql) == 1){
    $itemArr = array('docno' => $docno, 'entryno' => $entryno);
    $ArrID[] = $itemArr;
  }
}

if(count($ArrID)>0){
    foreach ($ArrID as $key => $values) {
      echo $values -> docno;
    }
}

2 个答案:

答案 0 :(得分:1)

您正在与objectarray

混在一起

http://php.net/manual/en/language.types.array.php http://php.net/manual/en/language.types.object.php

$ArrID = [];
foreach ($form_data_body as $key => $value) {
  $docno = $value['doc_no'];
  $entryno = $value['entryno'];
  if($mysqli->query($sql) == 1){
    $itemArr = array('docno' => $docno, 'entryno' => $entryno);
    $ArrID[] = $itemArr;
  }
}

if(count($ArrID)>0){
    foreach ($ArrID as $key => $values) {
      echo $values['docno'];
    }
}

答案 1 :(得分:0)

您如何确定您的阵列有数据?确保通过回显数组的大小,看看它是否大于零。

尝试下面的代码并检查它是否有效。有一个冗余的分配和重新分配代码,实际上你是将数组分配给变量,然后再将变量分配给数组。

$ArrID = [];
foreach ($form_data_body as $key => $value) {
  $docno = $value -> doc_no;
  $entryno = $value -> entryno;
  if($mysqli->query($sql) == 1) {
    $ArrID[] = array('docno' => $docno, 'entryno' => $entryno); 
  }
}
if(count($ArrID)>0) {
  foreach ($ArrID as $key => $values) {
    echo $values -> docno;
  }
}