Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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_Arrays_Loops - Fatal编程技术网

Php 需要一种更优雅的方法来测试和循环阵列吗

Php 需要一种更优雅的方法来测试和循环阵列吗,php,arrays,loops,Php,Arrays,Loops,我正在浏览大约40000条记录,并在找到匹配项时打印车辆信息。一个记录至少有一个车辆,由7个元素组成。不过,它可能总共有16辆车。16辆车中的任何一辆都可能有一个不完整或空白的车辆识别号,这是最后一个要素,在这种情况下,我不想使用它。所以我首先测试元素6、13、20、27,以确保有东西在那里,然后它不仅仅是空白 正如我的代码所示,我是PHP新手。我下面所说的是可行的,尽管它很长,很麻烦,而且似乎比应该用的时间要长得多 数组可能如下所示: [0] => VEHICLE1 [1] =>

我正在浏览大约40000条记录,并在找到匹配项时打印车辆信息。一个记录至少有一个车辆,由7个元素组成。不过,它可能总共有16辆车。16辆车中的任何一辆都可能有一个不完整或空白的车辆识别号,这是最后一个要素,在这种情况下,我不想使用它。所以我首先测试元素6、13、20、27,以确保有东西在那里,然后它不仅仅是空白

正如我的代码所示,我是PHP新手。我下面所说的是可行的,尽管它很长,很麻烦,而且似乎比应该用的时间要长得多

数组可能如下所示:

[0] => VEHICLE1
[1] => 1995
[2] => FORD
[3] => XL
[4] => WHITE
[5] => MD
[6] => 1GNEK714XXXXXXX
[7] => VEHICLE2
[8] => 1999
[9] => FORD
[10] => F-150XLT (HAS THIRD DOOR ON PASSENGER SIDE)
[11] => TEAL (GREEN)
[12] => MD
[13] => 
我的逻辑是:

-测试最后一个元件,确保有车辆ID号(如果有)。。 -确保车辆ID大于0。如果是。。 -将VIN和pad左对齐为20个字符, -打印车辆信息年份、品牌、型号、颜色


如果您能帮助我们加快进度,我们将不胜感激。我确信有一种方法可以在三行中完成,我只是还没有弄明白

如果关于每辆车的信息包含7个数组项,请使用数组块并处理部件

$vehicles = array_chunk($vehicle_info[1], 7);

foreach ($vehicles as $vehicle) {
   if(isset($vehicle[6]) && strlen($vehicle[6])>0){
   print str_pad($vehicle[6], 20).$vehicle[5]."#8";
   print "$details {$vehicle[1]}     
   {$vehicle[2]} {$vehicle[3]} {$vehicle[4]}  \r\n";}
}
$vehicles = array_chunk($vehicle_info[1], 7);

foreach ($vehicles as $vehicle) {
   if(isset($vehicle[6]) && strlen($vehicle[6])>0){
   print str_pad($vehicle[6], 20).$vehicle[5]."#8";
   print "$details {$vehicle[1]}     
   {$vehicle[2]} {$vehicle[3]} {$vehicle[4]}  \r\n";}
}