我會給你快速運行我所做的。如果一個或多個數組爲空,merge_array返回null?
我使用wordpress和advanced custom fields插件。這是一個基於php的問題,因爲這些get_field()
字段包含對象數組。
$gallery_location = get_field('gallery_location');
$gallery_studio = get_field('gallery_studio');
例如$gallery_location
傾倒時會返回此...
array(18) {
[0]=>
array(10) {
["id"]=>
int(126)
["alt"]=>
string(0) ""
["title"]=>
string(33) "CBR1000RR STD Supersport 2014 001"
["caption"]=>
string(0) ""
["description"]=>
string(0) ""
["mime_type"]=>
string(10) "image/jpeg"
["url"]=>
string(94) "http://www.example.com/wp/wp-content/uploads/2013/10/CBR1000RR-STD-Supersport-2014-001.jpg"
["width"]=>
int(7360)
["height"]=>
int(4912)
}
... on so fourth
}
然後我使用merge_array合併這兩個對象...
$gallery_location = get_field('gallery_location');
$gallery_studio = get_field('gallery_studio');
$downloads = array_merge($gallery_location, $gallery_studio);
我合併多個陣列,但如果其中一個數組爲空,那麼這會導致合併數組完全返回null!
我的問題是如何停止merge_array返回null是一些數組是空的?
在此先感謝您的任何想法。
@zessx
這就是我回來......
$gallery_location = get_field('gallery_location');
$gallery_studio = get_field('gallery_studio');
$downloads = array_merge($gallery_location, $gallery_studio);
var_dump($gallery_location);
var_dump($gallery_studio);
var_dump($downloads);
,這些都是上面相同的順序堆放的結果...
string(0) ""
array(18) {
[0]=>
array(10) {
["id"]=>
int(126)
["alt"]=>
string(0) ""
["title"]=>
string(33) "CBR1000RR STD Supersport 2014 001"
["caption"]=>
string(0) ""
["description"]=>
string(0) ""
["mime_type"]=>
string(10) "image/jpeg"
["url"]=>
string(94) "http://www.example.com/wp/wp-content/uploads/2013/10/CBR1000RR-STD-Supersport-2014-001.jpg"
["width"]=>
int(7360)
["height"]=>
int(4912)
}
... on so fourth
}
NULL
正如你可以看到$downloads
仍然返回null,如果我嘗試使用下面兩個是你的解決方案不起作用?
看起來不錯。你有沒有嘗試過'var_dump($ gallery_location); var_dump($ gallery_studio);'就在'array_merge'之前? – zessx
@zessx - 我剛剛更新了我的問題,這是因爲其中一個數組是空的,這會導致合併全部返回null:/ – Joshc