0

以下のようなPHP配列があります。

  Array
    (
        [0] => 16
        [1] => 17
        [2] => 18
        [3] => 23
        [4] => 7
        [5] => 6
        [6] => 14
        [7] => 22
    )

この配列を 23 の値で 2 つの配列に分割する必要があり、以下のようになります。

 Array
    (
        [0] => 16
        [1] => 17
        [2] => 18
    )

 Array(
        [0] => 23
        [1] => 7
        [2] => 6
        [3] => 14
        [4] => 22
    )

PHPでこれを行う方法を知っている人はいますか。

4

1 に答える 1

7

以下のコードの はハードコードされており、元の配列はソース配列に値が見つかった23場合にのみ分割されます。23

$arr = array(16, 17, 18, 23, 7, 6, 14, 22);
$split_by = array_search(23, $arr);

if ($split_by) {
    $first = array_slice($arr, 0, $split_by);
    $second = array_slice($arr, $split_by);

    var_dump($first, $second);
}

http://ideone.com/BPn7t

また

$arr = array(16, 17, 18, 23, 7, 6, 14, 22);
$split_by = array_search(23, $arr);

if ($split_by) {
    $first = array_slice($arr, 0, $split_by + 1);
    $second = array_slice($arr, $split_by + 1);

    var_dump($first, $second);
}

見つかった値を最初の配列に残す必要がある場合

于 2012-05-07T05:16:02.207 に答える