php - 重组我的对象的最佳方法

标签 php javascript arrays object json

所以我有一个对象,它成功地从数据库中提取所有行并像这样存储它们:

Object {models: Array[2]}
    [Object, Object]
         0: Object
             address: "1234 Cooper"
             firstname: "Rick"
             lastname: "Bross"
             address: "1234 Cooper"
        __proto__: Object

我该如何重组它,这样我就可以说:

alert(potentialModels.rickbross.firstname)
//rickbross = *whatever model i want to find*

它的输出:

"Rick"

以下是我当前创建此对象的方式:

<?php
    if($_SESSION['username']) {

    $result = mysql_query("SELECT * FROM `potentials`") or die(mysql_error());
    $rows = array();

    //retrieve and print every record
    while($r = mysql_fetch_assoc($result)){
        // $rows[] = $r; has the same effect, without the superfluous data attribute
        $rows[] = $r;
    }

    // now all the rows have been fetched, it can be encoded
    $myJSON =  json_encode(array('models' => $rows));
?>  

以及我如何在控制台中获取它:

var potentialModels = <?php print($myJSON); ?>;
console.log(potentialModels);

最佳答案

更改:

$rows[] = $r;

致:

$rows[strtolower($r['firstname'].$r['lastname'])] = $r;

您可以使用:

alert( potentialModels.models.rickbross.firstname);

如果您想删除模型,请停止将其添加到此处的 JSON:

json_encode(array('models' => $rows));

将其更改为:

json_encode( $rows);

关于php - 重组我的对象的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16001528/

相关文章:

php - 关于A4尺寸标记和打印问题

php - 开源点击或鼠标跟踪软件

php - GET 和 POST 在同一个页面上?

javascript - Document.write 清除页面

c++ - 方法中使用的静态模板成员数组sizeof

c++ - 矩阵相乘算法的问题(c++)

javascript - 防止在表单提交后重定向到 php 文件

javascript - 将 keydown 保存在数组中并执行

javascript - 在 JavaScript 中查找多维数组中最长的字符串

java - 如何将数组实例变量设置为特定的数据集?