【问题标题】:array operation - PHP数组操作 - PHP
【发布时间】:2012-10-07 09:23:38
【问题描述】:
$region_array = array( 

                                1 => 'Region 01', 
                                2 => 'Region 02',
                                3 => 'Region 03'
        );

我正在尝试的是

array_slice($region_array, $index); & array_splice($region_array, $index); 都没有给我所需的输出。

需要的输出是

  1. 如果将 pass 2 作为索引,则只应留下第一个两个元素。如果我通过 3 第一个三个元素应该留下。我该怎么做?

  2. 然后,无论输出数组是什么,我都想添加 0 => 'Select Region' 作为输出数组的第一个选项。我试过array_push。它将元素添加到数组的末尾。我该如何解决?

【问题讨论】:

标签: php arrays


【解决方案1】:

要首先回答第 2 点,请使用 array_unshift -> http://us3.php.net/manual/en/function.array-unshift.php

对于第 1 点,请使用 array_slice($region_array, 0, $index);

【讨论】:

    【解决方案2】:
    `<?php 
        $region_array = array( 
            1 => 'Region 01', 
            2 => 'Region 02',
            3 => 'Region 03'
        );
        $array = array_slice($region_array, 0, 2);
        array_unshift($array, 'Select Region');
        echo '<pre>';
        print_r($array);
     ?>`
    

    【讨论】:

      【解决方案3】:
      $array = array_slice($region_array, 0, $index)
      array_unshift($array, 'Select Region');
      

      阅读array_slicearray_unshift 的文档

      【讨论】:

      • 你不需要使用array('0' =&gt; 'Select Region'),事实上,我认为这会将一个数组推到前面并使其成为二维。只需要array_unshift($array, 'Select Region');
      【解决方案4】:

      由于您的数组索引大于零,您也可以使用此单线:

      $result = array('Select region') + array_slice($region_array, 0, $index, true);
      

      + 运算符适用于数组并连接第二个数组(仅键不与第一个相交的项)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-25
        • 2012-02-29
        • 2023-03-31
        • 1970-01-01
        相关资源
        最近更新 更多