array_shift
时间: 2023-07-08 20:37:17 浏览: 101
array_shift 是一个 PHP 数组函数,它用于删除数组的第一个元素并返回它。如果数组是空的,它将返回 NULL。该函数会改变原始数组,即删除第一个元素后,原始数组中的元素索引会重新排序。例如:
```
$fruits = array("apple", "banana", "orange");
$first_fruit = array_shift($fruits);
echo $first_fruit; // 输出 "apple"
echo "<br>";
print_r($fruits); // 输出 Array ( [0] => banana [1] => orange )
```
在上面的例子中,我们首先创建了一个包含三个元素的数组 `$fruits`,然后使用 `array_shift` 函数删除了第一个元素 `"apple"` 并将其赋值给变量 `$first_fruit`。最后,我们输出了 `$first_fruit` 的值以及删除第一个元素后的 `$fruits` 数组。
相关问题
php array_shift
PHP的array_shift()函数是用来删除数组中的第一个元素,并返回被删除的元素。在删除第一个元素后,数组中的所有元素会向前移动一位,同时数字键名会被重新计数,而字符串键名则保持不变。
举个例子,假设有一个数组$arr1=['a','b'=>'10',2=>'c'],使用array_shift($arr1)后,被删除的元素是'a',而数组$arr1变成了[0=>'10',1=>'c']。
for ($i = 0; $i < 50; $i++) { $data1 = "data1_" . ($i + 1); $data2 = "data2_" . ($i + 1); $data3 = "data3_" . ($i + 1); $data4 = "data4_" . ($i + 1); $data5 = "data5_" . ($i + 1); $data6 = "data6_" . ($i + 1); $time = date("Y-m-d H:i:s"); array_push($arr1, $data1); array_push($arr2, $data2); array_push($arr3, $data3); array_push($arr4, $data4); array_push($arr5, $data5); array_push($arr6, $data6); array_push($arrTime, $time); if (count($arr1) > 50) { array_shift($arr1); array_shift($arr2); array_shift($arr3); array_shift($arr4); array_shift($arr5); array_shift($arr6); array_shift($arrTime); } } 修改代码 假设要添加的数据为$r["wr1_linktime"] $r["wr0_linktime"] $r["wr1_loopback"] $r["wr0_loopback"] $r["wr1_oneway"] $r["wr0_oneway"]
可以将原来的代码修改如下:
```
for ($i = 0; $i < 50; $i++) {
$data1 = "data1_" . ($i + 1);
$data2 = "data2_" . ($i + 1);
$data3 = "data3_" . ($i + 1);
$data4 = "data4_" . ($i + 1);
$data5 = "data5_" . ($i + 1);
$data6 = "data6_" . ($i + 1);
$time = date("Y-m-d H:i:s");
array_push($arr1, $data1);
array_push($arr2, $data2);
array_push($arr3, $data3);
array_push($arr4, $data4);
array_push($arr5, $data5);
array_push($arr6, $data6);
array_push($arrTime, $time);
if (count($arr1) > 50) {
array_shift($arr1);
array_shift($arr2);
array_shift($arr3);
array_shift($arr4);
array_shift($arr5);
array_shift($arr6);
array_shift($arrTime);
}
}
// 添加新数据
$data1 = $r["wr1_linktime"];
$data2 = $r["wr0_linktime"];
$data3 = $r["wr1_loopback"];
$data4 = $r["wr0_loopback"];
$data5 = $r["wr1_oneway"];
$data6 = $r["wr0_oneway"];
$time = date("Y-m-d H:i:s");
array_push($arr1, $data1);
array_push($arr2, $data2);
array_push($arr3, $data3);
array_push($arr4, $data4);
array_push($arr5, $data5);
array_push($arr6, $data6);
array_push($arrTime, $time);
if (count($arr1) > 50) {
array_shift($arr1);
array_shift($arr2);
array_shift($arr3);
array_shift($arr4);
array_shift($arr5);
array_shift($arr6);
array_shift($arrTime);
}
```
这样就可以将新的数据添加到相应的数组中,并且保持数组长度不超过50。
阅读全文