如何删除数组编号

时间:2018-11-05 07:18:18

标签: php arrays for-loop

这是下图中我的阵列中的一个示例:

enter image description here

我想删除图像上显示的数组编号。你能帮助我吗? 我的代码:

$addresses_list = array();
$stmt_select_address_result = $this->connect()->prepare("SELECT lat,lng,address FROM api_order where userid='$user_id';");
$stmt_select_address_result->execute();

for ($i = 0; $i < $stmt_select_address_result->rowCount(); $i++) {
      $addresses_list[$i] = $stmt_select_address_result->fetch(PDO::FETCH_ASSOC);
      if (in_array($stmt_select_address_result->fetch(PDO::FETCH_ASSOC), $addresses_list)) {
          unset($addresses_list[$i]);
      }
 }

1 个答案:

答案 0 :(得分:1)

问题在于,由于它们不是顺序数字索引,因此不会被删除,当您json_encode()一个数组时,除非它们是顺序和数字的,否则它将添加键。

您可以执行的方法是反转循环中的逻辑,仅添加所需的内容...

while( $row = $stmt_select_address_result->fetch(PDO::FETCH_ASSOC)) {
      if (!in_array($row, $addresses_list)) {
          $addresses_list[] = $row;
      }
 }