php定义一个数组 该数组每个元素包含50个值 等到第51个值被输入时 将第一个值舍弃 以此类推
时间: 2023-09-17 18:10:59 浏览: 155
好的,以下是定义一个每个元素包含50个值的数组,并在输入第51个值时舍弃第一个值的 PHP 代码示例:
```php
<?php
// 定义一个包含50个值的数组
$myArray = array();
for ($i = 0; $i < 50; $i++) {
$myArray[$i] = 0;
}
// 循环输入值
$input = 1;
for ($i = 0; $i < 100; $i++) {
// 将输入的值存储在数组中
$myArray[$i % 50] = $input;
// 打印数组
print_r($myArray);
// 增加输入值
$input++;
}
?>
```
这段代码将创建一个名为 `$myArray` 的数组,并使用循环将输入的值存储在数组的每个元素中,当输入第51个值时,将舍弃第一个值,以此类推。在每次输入后,将打印整个数组。你可以根据需要修改循环内的代码来存储不同的值。
相关问题
php定义一个数组 数组内含有7个数组 这7个数组每个数组含有50个值 其中一个数组是时间数组 即当其余六个数组获得数据时 时间数组将获得数据时的时间记录 这些数组等到第51个值被输入时 将第一个值舍弃 以此类推
可以使用以下代码来定义这个数组结构:
```php
<?php
// 定义7个数组
$arr1 = array();
$arr2 = array();
$arr3 = array();
$arr4 = array();
$arr5 = array();
$arr6 = array();
$arrTime = array();
// 将7个数组存入一个大的数组中
$data = array($arr1, $arr2, $arr3, $arr4, $arr5, $arr6, $arrTime);
// 向数组中添加数据
for ($i = 0; $i < 50; $i++) {
// 假设要添加的数据为 $data1, $data2, $data3, $data4, $data5, $data6, $time
$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);
// 如果数组已经有50个元素,将第一个元素删除
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);
}
}
// 输出数组
print_r($data);
?>
```
这个代码会定义一个包含7个数组的大数组,每个小数组有50个元素。其中一个数组是时间数组,当其他6个数组获得数据时,时间数组会记录下此时的时间。当每个小数组中已经有50个元素时,会将第一个元素舍弃,以此类推。
用c 写一个每隔1秒调用/usr/bin/sn_core.elf getstat 2>/dev/null指令 然后将该指令输出的值存入数组 该数组内还包含7个数组 字数组最大拥有50个值 当第51个值输入时 将第一个值舍弃 以此类推
好的,以下是使用C语言实现每隔1秒调用 `/usr/bin/sn_core.elf getstat 2>/dev/null` 并将输出存入数组中,并实现循环存储的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define MAX_ARR_SIZE 7 // 数组个数
#define MAX_STR_LEN 50 // 字符串最大长度
int main() {
char arr[MAX_ARR_SIZE][MAX_STR_LEN]; // 存储数组
int index = 0; // 当前存储位置
while(1) {
// 调用指令并获取输出
FILE *fp = popen("/usr/bin/sn_core.elf getstat 2>/dev/null", "r");
char buf[MAX_STR_LEN];
fgets(buf, sizeof(buf), fp);
pclose(fp);
// 处理输出,存入数组中
buf[strlen(buf)-1] = '\0'; // 去掉换行符
strcpy(arr[index], buf);
index = (index + 1) % MAX_ARR_SIZE; // 循环存储
// 输出数组中的内容
printf("Array:\n");
for(int i = 0; i < MAX_ARR_SIZE; i++) {
printf("%s\n", arr[i]);
}
printf("\n");
// 等待1秒
sleep(1);
}
return 0;
}
```
代码中使用了 `popen()` 函数来调用指令并获取输出,使用了循环存储的方式来实现存储多个值,并且在每次存储值后输出整个数组的内容。
阅读全文