2016-05-02 29 views
0

データベースオブジェクトを配列に渡しています。変数を配列に渡す

配列に別の変数を含める必要があります。変数は$ latitud_usuarioです。ここで

はコードです:

if ($result->num_rows > 0) { 
     while ($obj = $result->fetch_object()) { 
      $arr[] = array('nombre_doctor' => $obj->nombre_doctor,'apellido1_doctor' => $obj->apellido1_doctor,'apellido2_doctor' => $obj->apellido2_doctor,'ciudad_doctor' => $obj->ciudad_doctor, 'latitud_doctor' => $latitud_usuario); 
     } 
    } 
} 
echo json_encode($arr); 

私は唯一のフェッチオブジェクトを含む配列を作成した場合、送信されたJSONはOKですが、最後の配列オブジェクトを含む後:

'latitud_doctor' => $latitud_usuario 

JSONがありますそれはすべきではありません。

この最後の配列オブジェクトの式が間違っていると思います。

ヒントをお待ちしております。

+0

あなたは 'json_encode($のARR)を表示することができます;'出力し、ありますか?任意のエラー? –

+0

'$ latitud_usuario'がどこから来たのか、それに何が入っているのか、少なくとも最後の部分はエンコーディングの前に' print_r'配列を付けてください。 –

+0

私はそれが$ obj - > latitud_usuario($ latitud_usuarioの代わりに)だと思います。 –

答えて

1

はここ(ダミーの$ OBJオブジェクトを使用して)動作するバージョンがあります。この

if ($result->num_rows > 0) { 
     while ($obj = $result->fetch_object()) { 
      $arr[] = array('nombre_doctor' => $obj->nombre_doctor,'apellido1_doctor' => $obj->apellido1_doctor,'apellido2_doctor' => $obj->apellido2_doctor,'ciudad_doctor' => $obj->ciudad_doctor, 'latitud_doctor' => $latitud_usuario); 
      $arr['latitud_doctor']=$latitud_usuario; 
     } 
    } 
} 
echo json_encode($arr); 
+1

これは良い答えだとは思わない。あなたの配列に '' latitude_doctor '=> $ latitud_usuario'があり、配列の外側に '$ arr [' latitud_doctor '] = $ latitud_usuario;'が追加されています。 –

+0

'' latitud_doctor '=> $ latitud_usuario'がうまくいかない理由を教えてください。それは動作するはずです。 –

0

をお試しください:

$obj = (object) array('nombre_doctor'=> 6, 'apellido1_doctor' => 'whatever1', 'apellido2_doctor' => 'whatever2', 
'ciudad_doctor' => 'Montreal', 'latitud_usuario' => '35463'); 
$arr[] = array('nombre_doctor' => $obj->nombre_doctor,'apellido1_doctor' => $obj->apellido1_doctor, 
'apellido2_doctor' => $obj->apellido2_doctor,'ciudad_doctor' => $obj->ciudad_doctor, 
'latitud_doctor' => $obj->latitud_usuario); 

echo json_encode($arr);