如何从php中生成的数组中获取javascript中的长度?
我使用jQuery调用一个php函数并返回一个数组。以下是php代码:如何从php中生成的数组中获取javascript中的长度?,javascript,php,jquery,Javascript,Php,Jquery,我使用jQuery调用一个php函数并返回一个数组。以下是php代码: $users = array(); $user = array(); $user["fname"] = "Juan"; $user["lname"] = "Perez"; $user["uname"] = "jperez"; $user["passwd"] = "passwd1234"; $user["rights"] = array( "mod_own" => true, "vi
$users = array();
$user = array();
$user["fname"] = "Juan";
$user["lname"] = "Perez";
$user["uname"] = "jperez";
$user["passwd"] = "passwd1234";
$user["rights"] = array(
"mod_own" => true,
"view_all" => false,
"mod_all" => true,
"mod_proj" => false,
"mod_users" => true
);
$users[1] = $user;
$user["fname"] = "Pedro";
$user["lname"] = "Rodriquez";
$user["uname"] = "pedror";
$user["passwd"] = "passwd456+";
$user["rights"] = array(
"mod_own" => false,
"view_all" => true,
"mod_all" => false,
"mod_proj" => true,
"mod_users" => false
);
$users[1] = $user;
$ret["users"] = $users;
$ret["error"] = "";
echo json_encode($ret);
这只是我真正想要返回的测试代码。问题是我知道用户在这里有一个长度2,但在实际应用中我不知道。我想检查一下它的长度。在调用此函数的javascript中,返回的对象是call obj。如果我说
对象用户[1]['fname']
我得到了正确的名字和一切。我不知道如何检查用户的长度。我试过obj.users.length,但不起作用
我怎么检查
编辑:
要查看长度,我使用了以下代码:
document.getElementById("debug").innerHTML="N de users is " + obj.users.length;
我得到“N de users is undefined”您在未设置
$users[0]
的情况下设置了两次$users[1]
。这将输出一个没有length
属性的。不要直接指定索引,只需将内容推入$users
:$users[]=$user
“它不工作”:它是否会给出一个错误,因为它应该工作?obj.users.length
应该工作。请显示什么console.log(obj)代码>显示在控制台中我对这个很陌生。我在文本编辑器中编写代码,并在网页上试用。如何检查控制台输出?至于它为什么不工作,这是因为当我试图打印它的值时,打印的值是未定义的。我将编辑这个问题。您的JavaScript是否运行JSON.parse?(你能发布JavaScript吗?@AndréDion如果你混淆了php和js语法,php将是array\u push($users,$user)
或$users[]=$user代码>我不知道您添加用户的语法(我以前使用array\u push($users,$user);我又使用了它),但这解决了它!!!!非常感谢你。现在obj.users.length起作用了!!我的语法是首选,因为它不会带来调用函数的开销。有关更多信息,请参阅。