Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组归档中添加一些逻辑_Php_Arrays - Fatal编程技术网

Php 在数组归档中添加一些逻辑

Php 在数组归档中添加一些逻辑,php,arrays,Php,Arrays,我正在尝试填充一个数组,我想在其中添加一些逻辑,这样它就不会返回错误 代码如下: $entries_mixes = array(); foreach ($entries_query->result_array() as $entry) { $entries_mixes[] = array('title' => $entry['title'], 'body' => $entry['body'], 'author' => $entr

我正在尝试填充一个数组,我想在其中添加一些逻辑,这样它就不会返回错误

代码如下:

$entries_mixes = array();

foreach ($entries_query->result_array() as $entry) {


   $entries_mixes[] = array('title' => $entry['title'],
        'body' => $entry['body'],
        'author' => $entry['author'],
        'date_time' => $entry['date_time'],
        'id' => $entry['id'],
        'mix_name' => $mix['name'],
        'photo_name' =>$photo['name']
    );


}
我想做的是,在我将一些变量放入数组之前,能够检查它们是否存在。。。。 因此,例如
if(isset($mix['name']),然后插入到数组中,或者什么都不做


关键是没有未声明的变量试图插入我的数组,因为它会返回错误…谢谢

您可以使用
?:三值运算符:

  $entries_mixes[] = array( 
       'title' =>  (isset($entry['title'])  ? $entry['title']  : null),
       'author' => (isset($entry['author']) ? $entry['author'] : null),
  ...

或者,使用
empty()
进行检查您可以使用
?:三值运算符:

  $entries_mixes[] = array( 
       'title' =>  (isset($entry['title'])  ? $entry['title']  : null),
       'author' => (isset($entry['author']) ? $entry['author'] : null),
  ...

或者,使用
empty()
进行检查

下面将检查
条目
数组中是否不存在
标题
,或者它是否为空。如果是这样,它将完全跳过条目并继续循环中的下一个元素

$entries_mixes = array();

foreach ($entries_query->result_array() as $entry) {
  if (empty($entry['title'])) {
    continue;
  }

  $entries_mixes[] = array('title' => $entry['title'],
    'body' => $entry['body'],
    'author' => $entry['author'],
    'date_time' => $entry['date_time'],
    'id' => $entry['id'],
    'mix_name' => $mix['name'],
    'photo_name' =>$photo['name']
  );

}

下面将检查
条目
数组中是否不存在
标题
,或者它是否为空。如果是这样,它将完全跳过条目并继续循环中的下一个元素

$entries_mixes = array();

foreach ($entries_query->result_array() as $entry) {
  if (empty($entry['title'])) {
    continue;
  }

  $entries_mixes[] = array('title' => $entry['title'],
    'body' => $entry['body'],
    'author' => $entry['author'],
    'date_time' => $entry['date_time'],
    'id' => $entry['id'],
    'mix_name' => $mix['name'],
    'photo_name' =>$photo['name']
  );

}
您可以使用,以便如果变量不存在,
NULL
用作值。但在这种情况下,您实际上希望从数组中完全忽略某些键。因此,只需分别设置每个关键点:

$entry[] = array();
...
if (isset($mix['name'])) {
    $entry['mix_name'] = $mix['name'];
}
...
$entries_mixes[] = $entry;
您可以使用,以便如果变量不存在,
NULL
用作值。但在这种情况下,您实际上希望从数组中完全忽略某些键。因此,只需分别设置每个关键点:

$entry[] = array();
...
if (isset($mix['name'])) {
    $entry['mix_name'] = $mix['name'];
}
...
$entries_mixes[] = $entry;

空($entry['title'])
已经等同于
!isset($entry['title'])||$条目['title']
为空($entry['title'])
已等同于
!isset($entry['title'])||$条目['title']
。嗯,这个问题有几种不同的解释。。。如果未设置某个条目的任何值,是否要从
$entries\u mixes
中完全忽略该条目?或者你想让每个结果都出现在
$entries\u mixes
中,而每个结果都可能缺少值?谢谢大家的快速回复…@Richard:将值设置为null对我来说就行了。嗯,这个问题有几种不同的解释。。。如果未设置某个条目的任何值,是否要从
$entries\u mixes
中完全忽略该条目?或者你想让每个结果都出现在
$entries\u mixes
中,而每个结果都可能缺少值吗?谢谢大家的快速回复…@Richard:将值设置为null可以帮我完成这项工作。要扩展此功能,请使用
数组\u过滤器
而不使用回调作为第二个参数来删除所有等于
false
(例如
null
)。要扩展此功能,请使用
array\u filter
,而不使用回调作为第二个参数,以删除所有等于
false
(例如
null
)的项。