Php 重组对象的最佳方式
因此,我有一个对象,它成功地从数据库中提取所有行并按如下方式存储它们:Php 重组对象的最佳方式,php,javascript,arrays,object,json,Php,Javascript,Arrays,Object,Json,因此,我有一个对象,它成功地从数据库中提取所有行并按如下方式存储它们: Object {models: Array[2]} [Object, Object] 0: Object address: "1234 Cooper" firstname: "Rick" lastname: "Bross" address: "1234 Cooper" __prot
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);
var-potentialModels=;
console.log(潜在模型);
更改:
$rows[] = $r;
致:
您可以使用:
alert( potentialModels.models.rickbross.firstname);
如果要删除模型
,请停止将其添加到JSON:
json_encode(array('models' => $rows));
将其更改为:
json_encode( $rows);
好人!谢谢,还有一个简短的问题。如何将所有模型。*modelname*.firstname获取到一个数组中?我需要列出所有潜在模型的名称供用户选择。只需在
models
数组上循环,并将firstname
值存储到另一个数组中。这样行吗,因为firstname不在potentialmodels中,而是在potentialmodels.rickbross中?或者有没有一种方法可以针对潜在模型而不是潜在模型的所有子级。*firstname+lastname*您的firstname+lastname
组合是否总是唯一的?还有,关于“布莱恩特”+“哈彻”和“布莱恩”+“撒切尔”的情况呢?
json_encode( $rows);