3

我在 php 中动态创建了一个 php 数组,然后json_encoded将其发送回ajax请求它的脚本。

$myarr['key_a'] = 'a';
$myarr['key_b'] = 'b';
$myarr['key_c'] = 'c';

在我执行 json_encode 之前,由于它的值来自数据库,是否有办法检查所有值是否已设置并且没有一个为空白或未设置,而无需单独检查每个键?

4

3 回答 3

15
if (count($myarr) != count(array_filter($myarr))) {
    // Oops, empty values
}
于 2013-08-27T08:52:35.770 回答
2
//$arr is your array contains values from database
$newArr = array();
foreach($arr as $key => $val) {
  if(trim($val) != ''){
    $newArr[$key] = $val;
  }
}
json_encode($newArr);
于 2013-08-27T08:53:40.123 回答
1

如果您不想跑来跑去并单独检查每个键(通过使用foreach),您应该确保在创建时已经检查了生成的数组。

添加一个if(empty($value)) { // Do stuff }可能会从根本上解决您的问题。

于 2013-08-27T08:57:12.057 回答