Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php在数组对象中推送数据_Php - Fatal编程技术网

如何使用php在数组对象中推送数据

如何使用php在数组对象中推送数据,php,Php,我期待这种数据 但我总是得到这样的数据 这是我尝试的代码,我只想将$data上的数据传输到$new_数据,但它总是给出不同的结果,我不知道如何重构代码 $data=[ 0=>数组:3[ 0=>“员工ID” 1=>“时间(YYYY-MM-DD HH:MM:ss)” 2=>“超时(YYYY-MM-DD HH:MM:ss)” ] 1=>数组:3[ 0 => "10" 1 => "2017-03-28 05:29:56" 2 => "2017-03-29 05:29:56" ] 2=>数组:3[ 0 =

我期待这种数据

但我总是得到这样的数据

这是我尝试的代码,我只想将$data上的数据传输到$new_数据,但它总是给出不同的结果,我不知道如何重构代码

$data=[
0=>数组:3[
0=>“员工ID”
1=>“时间(YYYY-MM-DD HH:MM:ss)”
2=>“超时(YYYY-MM-DD HH:MM:ss)”
]
1=>数组:3[
0 => "10"
1 => "2017-03-28 05:29:56"
2 => "2017-03-29 05:29:56"
]
2=>数组:3[
0 => "12"
1 => "2017-03-28 05:29:56"
2 => "2017-03-29 05:29:56"
]
3=>false
]
$new_data=[];
对于($i=1;$i<$len-1;$i++){
对于($x=0;$x<3;$x++){
数组推送($new_data,$data[$i][$x]);
}
}

请帮我解释一下我的逻辑,我只是一个新的数组

你有一个数组$new\u data,你推送了六个新项目。这就是为什么您得到一个包含六项的单个数组

如果您将其更改为此,您将得到您想要的:

for ($i = 1; $i < $len - 1; $i++) { 
     $new_item = [];
     for ($x = 0; $x < 3; $x++) {
         array_push($new_item, $data[$i][$x]);
     }
     array_push($new_data, $new_item);
}
如果总是希望推送完整的块,则不需要迭代这三个单独的项

或者,因为您似乎只想删除第一个和最后一个条目:

unset($data[0]);
array_splice($data, count($data) - 1, 1); // Remove last entry and rebuild indices.

您有一个数组
$new\u data
,并推送六个新项目。这就是为什么您得到一个包含六项的单个数组

如果您将其更改为此,您将得到您想要的:

for ($i = 1; $i < $len - 1; $i++) { 
     $new_item = [];
     for ($x = 0; $x < 3; $x++) {
         array_push($new_item, $data[$i][$x]);
     }
     array_push($new_data, $new_item);
}
如果总是希望推送完整的块,则不需要迭代这三个单独的项

或者,因为您似乎只想删除第一个和最后一个条目:

unset($data[0]);
array_splice($data, count($data) - 1, 1); // Remove last entry and rebuild indices.

你能发布你的
$data
的内容吗?我猜,
$new_data
只是一个数组;您不想将3
$data[$i][0]
$data[$i][1]
$data[$i][2]
值单独放入数组中。您希望将这3个值放入一个数组,然后将该数组推送到结果数组中。因此,将内部for循环中的值放入一个数组,然后在内部for循环之后,您可以将该数组推入结果数组。您可以发布
$data
的内容吗?我猜,
$new_data
只是一个数组;您不想将3
$data[$i][0]
$data[$i][1]
$data[$i][2]
值单独放入数组中。您希望将这3个值放入一个数组,然后将该数组推送到结果数组中。因此,将内部for循环中的值放入数组,然后在内部for循环之后,可以将该数组推入结果数组。我添加了两个更简单的解决方案。我添加了两个更简单的解决方案。
for ($i = 1; $i < $len - 1; $i++) { 
     array_push($new_data, $data[i]);
}
unset($data[0]);
array_splice($data, count($data) - 1, 1); // Remove last entry and rebuild indices.