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 に答える