Php 如何删除阵列号

Php 如何删除阵列号,php,arrays,for-loop,Php,Arrays,For Loop,这是下图中我的数组中的一个示例: 我想删除图像上显示的阵列号。你能帮助我吗? 我的代码: $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

这是下图中我的数组中的一个示例:

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

$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]);
      }
 }
$addresses\u list=array();
$stmt_select_address_result=$this->connect()->prepare(“从api_订单中选择lat、lng、地址,其中userid='$user_id';”;
$stmt_选择_地址_结果->执行();
对于($i=0;$i<$stmt_选择_地址_结果->行计数();$i++){
$addresses\u list[$i]=$stmt\u选择\u address\u result->fetch(PDO::fetch\u ASSOC);
if(在数组中($stmt\u select\u address\u result->fetch(PDO::fetch\u ASSOC),$addresses\u list)){
未设置($addresses_list[$i]);
}
}

问题是它们不会被删除,因为它们不是顺序数字索引,当您
json\u encode()
数组时,它将添加键,除非它们是顺序数字索引

你可以这样做的方法是在你的循环中反转逻辑,只添加你需要的逻辑

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

这些是索引,您可以用字符串替换它们[使其成为关联数组],但不能删除它们。检查
php数组
basics@AlivetoDie您能帮我编辑代码以删除这些数字吗?您期望的输出是什么?你的问题不清楚。@AlivetoDie如果我删除
If(在数组中…
它可以工作…@Nick我说。显示没有数字的数组。(看图片:隐藏红色矩形)