通过定义键创建基于其他数组值的数组?

时间:2011-01-08 01:31:49

标签: php arrays

我正在尝试通过定义键来创建基于其他数组值的数组?

E.g。

$old_array = array('hey', 'you', 'testing', 'this');

function get_new_array($key) {
global $old_array;

//return new array...
}

$new_array = get_new_array(2); //would return array('hey, 'you', 'testing'); as its the values of all the keys before the key 2 and the 2 key itself

感谢所有帮助! :乙

4 个答案:

答案 0 :(得分:2)

使用array_slice()

function get_new_array($key) {
    global $old_array;
    return array_slice($old_array, 0, $key+1);
}

一些建议:

  • 您希望将子数组返回到包括键。最常见的是返回但排除密钥。因此,+1是必要的。
  • 使用$old_array作为全局是一种糟糕的风格。我建议把它作为参数传递给函数。
  • 由于array_slice()已经做了你想做的事情,除了微小的差别之外,我会直接调用它,而不是写一个隐藏功能的包装函数。

答案 1 :(得分:1)

$new=array_slice($old_array,0,3);

答案 2 :(得分:0)

使用array_slice()

答案 3 :(得分:0)

使用array_slice()函数:

$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

链接到manual