【问题标题】:Print 2nd array from array of arrays php从数组php中打印第二个数组
【发布时间】:2014-05-15 15:36:30
【问题描述】:

我有一个数组数组。例如

$value= array(
   ['global'] => array('1'=>'amar'),
   ['others'] => array('1' => 'johnson')
);

我的问题是如何只打印第二个数组。我知道我可以使用 print $value['others'] 进行打印,但我的问题是其他值可能会改变。它可能是['blah1'], ['blah2']。所以我需要一行 php 代码来回显第二个数组 print $value['others'] ,其中其他可能是不同的词。

我的新数组也应该是这样的 $value= array(['others'] => array('1' => 'johnson'));

谢谢

【问题讨论】:

标签: php arrays


【解决方案1】:

你可以在这里使用数组指针。 (注意:O(1) 复杂度,首先获取键/值列表是 O(n)

reset($array); // set pointer to the first element
$your_array = next($array); // fetch next == second element

【讨论】:

  • 非常感谢,如果我只想要 $value= array( ['others'] => array('1' => 'johnson') 怎么办
  • 如果我只想要 $value= array( ['others'] => array('1' => 'johnson') 怎么办
  • $your_array["others"] = next($array); 或者你是什么意思? (替换第二行)
  • 我希望新数组为 $value=arra('others' => array('1'=>'johnsion'));其他人应该是第二个数组上的原始数组上曾经有过的东西
  • @user1140176 是的$your_array["others"] = next($array); 是正确答案。
【解决方案2】:

PHP 5.4 + :

var_dump($value[array_keys($value)[1]]); //get array of keys and access array with the second key

var_dump(array_values($value)[1]); // get an indexed array and access the second element

PHP 版本

$keys = array_keys($value); 
var_dump($value[$keys[1]]);

$value = array_values($value);
var_dump($value[1]);

【讨论】:

  • 注意,这只适用于 PHP 5.4+。在较旧的 PHP 版本中,您需要:$keys = array_keys($value); var_dump($value[$keys[1]]);.
  • 或者从另一个方向您可以完全丢弃密钥并执行var_dump(array_values($value)[1])
【解决方案3】:

假设最后一个元素:

$result = end($array);

或者通过索引号访问:

$array = array_values($array);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 2015-07-14
    • 2018-10-23
    • 2019-10-24
    相关资源
    最近更新 更多