无法从 php: 中的变量将字符串添加到数组中


Not able to add a string to array from a variable in php:

我是 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>

div class="answers"> 我不知道

在这种情况下使用 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(请记住它是区分大小写的)