2016-05-31 85 views
-3

人1的输入数据和所述数据阵列看起来像这样:如何使用动态数据数组输入JSON数据?

{ 
    "type": "1", 
    "name": "John", 
    "phone":"898171" 
} 

人2没有设置手机和数据阵列看起来像这样:

{ 
    "type": "1", 
    "name": "Lisa" 
} // only write 2 array... 

我的源代码在我的控制器像这样:

$data = json_decode(file_get_contents('php://input'), true); 

if(!$data['phone']->iSEmpty){ 
    echo "you haven't set the phone number!" 
} 

但是这不起作用。我收到以下错误,当人2输入数据 -

“未定义指数:手机”

回答

1

的问题是您要检查未定义键的值。

你可以使用array_key_exists检查一下:

if (!array_key_exists('phone', $data)) { 
    echo "you haven't set the phone number!"; 
} 
+0

之前,我看了你的评论,我尝试这样array_key_exists($数据[ '电话']); ...哈哈..谢谢你..你的解决方案正在工作! – Megandi

+0

我很高兴知道我可以帮助你! :) – Laerte

+0

如果它的工作,你能接受为正确的答案?谢谢! – Laerte

0

尝试

if(!isset($data['phone'])){ echo "you haven't set the phone number!" } 
+2

OP为什么要“尝试”这个?一个好的答案***将总是解释所做的事情以及为什么这样做,不仅是为了OP,还是为了将来访问SO。 –

+0

可以尝试很多事情......我没有时间去尝试。发布之前你有没有尝试过? –

+0

感谢您的反馈。下次我会解释一下。 –

相关问题