【问题标题】:How to read the specific set elements from an array - PHP如何从数组中读取特定的集合元素 - PHP
【发布时间】:2015-09-16 05:32:29
【问题描述】:

我有这个数组,我试图将第一个元素(15)存储在一个数组(xAxis)中,并将第二个元素(42)到第五个(23)存储在另一个数组(yAxis)中,我想再次存储数组中的第六个元素 (15) - xAxis 和 yAxis 中的 4 个元素。我在源数组中有一百多个元素,并希望按照这种模式存储在数组中。

Array
(
    [0] => 15
    [1] => 42
    [2] => 55
    [3] => 42
    [4] => 23
    [5] => 15
    [6] => 38
    [7] => 40
    [8] => 53
    [9] => 10
    [10] => 15
)

谢谢。

【问题讨论】:

  • 那么是什么阻止了你?
  • 欢迎阅读How to ask a good question 我想你真正要问的是为我做而我的回答是你付多少钱,所以不是免费编码网站
  • array_filter() 与获取xAxis 值所需的键列表一起使用,然后使用array_diff_key() 将主数组与新的xAxis 数组进行比较以获取yAxis 数组

标签: php arrays jpgraph


【解决方案1】:

使用循环:

$array = Array
(
    [0] => 15
    [1] => 42
    [2] => 55
    [3] => 42
    [4] => 23
    [5] => 15
    [6] => 38
    [7] => 40
    [8] => 53
    [9] => 10
    [10] => 15
)
$x = {};
$y = {};
$step = 0;
for ($i=0; $i < count($array); $i = $i){
if ($step == 0){
array_push($x, $array[$i]);
$i = $i + 1;
}
else
{
array_push($y, $array[$i]);
array_push($y, $array[$i+1]);
array_push($y, $array[$i+2]);
array_push($y, $array[$i+3]);
$i = $i + 4;
}
}

不要忘记确保这些步骤 1-2-3-4 是可行的。 你的阵列长 10/15/20!
否则 php 将返回一个(静默)错误。

【讨论】:

    【解决方案2】:

    将数组拆分为 5 个项目。然后将它们放入新数组中

    $yAxis = array();
    
    foreach(array_chunk($arr,5) as $chunk) {
       $xAxis[] = array_shift($chunk);
       $yAxis = array_merge($yAxis, $chunk);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多