2

问题是这样的...

现有数组:

Array(
    [0] => array('sample 1', 'sample 2')
    [1] => array('cat', 'dog')
)

另一个数组:

Array(
    [0] => array('sample 3', 'sample 4')
)

我想要将它添加到 0 键旁边,所以它变成了:

Array(
    [0] => array('sample 1', 'sample 2')
    [1] => array('sample 3', 'sample 4')
    [2] => array('cat', 'dog')
)

你怎么做到这一点?

@maxhud 我试过了,结果是这样的:

Array(
[0] => sample 1
[1] => sample 2
[2] => sample 3
[3] => sample 4
[4] => cat
[6] => dog
)

这是我当前的代码片段

$new_post_order = array();
foreach($the_query['posts'] as $the_post) {
$portfolio_reorder = '';
$portfolio_reorder = get_post_meta($the_post['ID'], 'portfolio_reorder', true); // Get the order on the db
if(empty($portfolio_reorder)) { // If its empty...
 $portfolio_reorder = 0; // Add default order                           
}
 array_splice($new_post_order, $portfolio_reorder, 0, $the_post);
}

echo '<pre>';
print_r( $new_post_order );
echo '</pre>';
4

1 回答 1

5

您可以通过以下方式完成此操作array_splice

http://php.net/manual/en/function.array-splice.php

例子:

$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
//          "blue", "purple", "yellow");

自己尝试一下,如果您无法弄清楚,请发表评论,我们会为您提供帮助。

array_splice($new_post_order, $portfolio_reorder, 0, array($the_post));
于 2012-07-10T15:57:35.533 回答