我是 php 的新手。我一直在尝试用 php 构造一个数组并将其编码为 JSON。这将使用客户端的xmlhttprequest
接收。
但是有一个问题。我无法将变量写入数组。
这就是我正在努力做的事情。
$name=$_GET['username'];
if ( strcmp( $name, 'harry' ) ) {
$arr['status'] = 'success';
$arr['name'] = $name;
echo json_encode($arr);
}
但是当我在客户端提出请求时。我得到一个空值来代替变量。除了这个值之外,数组中的其他一切都很好。
我得到的响应文本是
{"status":"success","username":null}
我在分配值时做错了什么吗?
谢谢
您发送到客户端的数组中没有"用户名"键,您应该改用$arr['name']<</p>
在这种情况下使用 strcmp() 有什么好处,但这将纠正您的问题
if ( strcmp( $name, 'harry' ) === 0) {
strcmp() 的用法在这里有点违反直觉,所以你可以使用
if ( $name === 'harry' ) {
以下代码对我有用...检查一下
$name=$_GET['username'];
if(strcmp($name,'harry')==0)
{
$arr['status']= 'success';
$arr['name']=$name;
echo json_encode($arr);
}
$name=$_GET['username'];
if ( strcmp( $name, 'harry' )===0 ) {
$arr['status'] = 'success';
$arr['username'] = $name; <---------- changed the index in $arr from 'name' to 'username'
echo json_encode($arr);
}
如果两个字符串相等,strcmp
返回 0(请记住它是区分大小写的)