php将数组元素添加到数组的数组中

php将数组元素添加到数组的数组中,php,arrays,Php,Arrays,我使用PHP5.5,但我的工作知识非常有限——我只是在学习。我无法让我的代码工作 我有一个包含20个值的数组EP。我为网站的每一位新访问者洗牌这些值,因此它们总是以随机顺序排列 $EP = array(30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220); $EP = shuffle($EP); 我有一个其他数组 $P[] = [81,102,74,157,93,106,0,0] $P[] = [71

我使用PHP5.5,但我的工作知识非常有限——我只是在学习。我无法让我的代码工作

我有一个包含20个值的数组EP。我为网站的每一位新访问者洗牌这些值,因此它们总是以随机顺序排列

$EP = array(30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220);
$EP = shuffle($EP);
我有一个其他数组

$P[] = [81,102,74,157,93,106,0,0]
$P[] = [71,102,76,157,93,106,0,0]
$P[] = [91,102,74,7,93,106,0,0]
$P[] = [56,100,89,15,93,106,0,0]
总共20个

我需要的是EP数组的每个元素都使用一次,然后在最后添加一个0,所以它看起来是这样的:

$P[] = [81,102,74,157,93,106,0,0,$EP(0),0];]
$P[] = [71,102,76,157,93,106,0,0,$EP(1),0];]
$P[] = [91,102,74,7,93,106,0,0,$EP(2),0];]
$P[] = [56,100,89,15,93,106,0,0,$EP(3),0];]
这样就可以使用EP的所有20个数组元素

我的代码有效,直到我添加EP数组并在其他数组中添加EP(1)等:

<?php

$Return = array();
$P = array();
$S = array();
$F = array();

$EP = array(30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220);
$EP = shuffle($EP);


//ts1
$P[] = [81,102,74,157,93,106,$EP(0),0];
$S[] = [this series is not important fo rmy question];

//ts2
$P[] = [184,0,0,0,0,0,0,105,$EP(1),0];
$S[] = [..];

//ts3
$P[] = [0,0,0,0,0,$EP(2),0];
$S[] = [..];

//and so on till time series ts20
//for loop below worked until I added the EP series, so it must have something to do with how I call the EP elements from the array.

for($i=0; $i<count($P); $i++)
{
    $Return[] = $P[$i];
    $Return[] = $S[$i];
    $Return[] = $F[$i];
}

die(json_encode($Return));

?>

我看到两件事出了问题:

  • 不返回数组。它返回一个布尔值。当您执行
    $a=shuffle($a)
    $a
    将为真或假-不是无序数组。改为:
    shuffle($a)

  • 如果要引用数组中的索引,请不要使用
    $a(10)
    。使用
    $a[10]
    。看


更改后,它应该可以工作(已测试)。

我发现有两件事出了问题:

  • 不返回数组。它返回一个布尔值。当您执行
    $a=shuffle($a)
    $a
    将为真或假-不是无序数组。改为:
    shuffle($a)

  • 如果要引用数组中的索引,请不要使用
    $a(10)
    。使用
    $a[10]
    。看


更改后,它应该可以工作(已测试)。

您可以推送到阵列

array_push($P, $EP);

这将向$p添加一个新的数组元素

您可以推送到阵列

array_push($P, $EP);

这将向$p添加一个新的数组元素

$p[]=$EP
是同样的阿林丹,谢谢你的回答。有了array_push,我想我无法控制20个P系列中的每一个都会从20个EP元素中获得一个元素,并且在最后EP的每个元素都会使用一次。
$P[]=$EP
是相同的Arinedam,谢谢你的回答。有了array_push,我想我无法控制20个P系列中的每一个都会从20个EP元素中获得一个元素,并且在最后EP的每个元素都会被使用一次。