array_push平面数组问题-需要能够向数组中添加多个变量


array_push flat array issue - need to be able to add multiple variables to the array

我正在尝试将一对变量"product_name"answers"photos"(即汽车照片的URL)添加到数组中。我有一个朋友说我的努力失败了,因为我正在进入一个扁平的阵列。我一直在研究如何使用可变对来实现这一点,但遇到了障碍。他曾建议将row推到$isotopicubes中,而不是我下面的样子,但当我尝试时,我得到的是null值。我需要能够在引用此ajax代码的php文件中的javascript调用中访问val.photo和val.product_name。

注意:如果我只是使用:

array_push($isotopecubes, $row['photo']);

我在控制台上返回以下JSON响应:

"/images/photos/cars/vw/14_Virginia_L.jpg", 
"/images/photos/cars/mazda/2013/14hybrid.jpg"

所以我知道我正在访问数据库并获得正确的值。这是我的ajax代码:

<?php
include '../../global_config.php';
include 'config.php';
if ($_GET['action'] == 'get-images') {
    $selectSql = "SELECT product_name, photo FROM cars WHERE publish = 1;";
    $isotopecubeResult = $db->query($selectSql);
    $isotopecubes = array();
    while($isotopecubeResult->fetchInto($row, DB_FETCHMODE_ASSOC)) {
        array_push($isotopecubes, $row['photo'], $col['product_name']);
        // $isotopecubes = array_merge($isotopecubes, $row['photo']);
     }
    echo json_encode($isotopecubes);
}
?>

可以通过完成

<?php
 include '../../global_config.php';
 include 'config.php';
if ($_GET['action'] == 'get-images') {
   $selectSql = "SELECT product_name, photo FROM cars WHERE publish = 1;";
   $isotopecubeResult = $db->query($selectSql);
   $isotopecubes = array();
   while($isotopecubeResult->fetchInto($row, DB_FETCHMODE_ASSOC)) {
      //array_push($isotopecubes, $row['photo'], $col['product_name']);
     // $isotopecubes = array_merge($isotopecubes, $row['photo']);
      $isotopecubes[] = array('product_name' => $row['product_name'], 'photo' => $row['photo']);
   }
   echo json_encode($isotopecubes);
}
?>

现在您将能够通过val.product_name and val.photo 获得值