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
Php 如果数组的最后一个元素为空,如何删除它_Php_Arrays - Fatal编程技术网

Php 如果数组的最后一个元素为空,如何删除它

Php 如果数组的最后一个元素为空,如何删除它,php,arrays,Php,Arrays,下面是我的数组($hamle)的打印版本。正如您所看到的,索引(80)是空的,或者有一个行尾或类似的字符。我尝试了许多选项来删除它,如果它存在并且是空的,但无法执行。我强烈认为它在“readwhile”循环中读取一个空行。它不会出现在所有文件中。有时会出现。有人能想出一个别致的出路吗 Array ( [0] => 1.b4 [1] => d5 [2] => 2.Bb2 [3] => Qd6 [4] => 3.a3 [5] => e5 [6] => 4.e

下面是我的数组($hamle)的打印版本。正如您所看到的,索引(80)是空的,或者有一个行尾或类似的字符。我尝试了许多选项来删除它,如果它存在并且是空的,但无法执行。我强烈认为它在“readwhile”循环中读取一个空行。它不会出现在所有文件中。有时会出现。有人能想出一个别致的出路吗

Array ( [0] => 1.b4 [1] => d5 [2] => 2.Bb2 [3] => Qd6 [4] => 3.a3 [5] => e5 [6] => 4.e3 [7] => a5 [8] => 5.b5 [9] => Nf6 [10] => 6.c4 [11] => Bg4 [12] => 7.Be2 [13] => Bxe2 [14] => 8.Qxe2 [15] => Nbd7 [16] => 9.d4 [17] => dxc4 [18] => 10.Nf3 [19] => e4 [20] => 11.Ne5 [21] => Nb6 [22] => 12.Nd2 [23] => Qe6 [24] => 13.O-O [25] => Bd6 [26] => 14.Nexc4 [27] => Nxc4 [28] => 15.Nxc4 [29] => O-O [30] => 16.Rfc1 [31] => Be7 [32] => 17.a4 [33] => Nd5 [34] => 18.Ba3 [35] => Bb4 [36] => 19.Qb2 [37] => Rfc8 [38] => 20.Bxb4 [39] => axb4 [40] => 21.Nd2 [41] => c6 [42] => 22.b6 [43] => Qe7 [44] => 23.Rc5 [45] => Ra6 [46] => 24.a5 [47] => g6 [48] => 25.Nb3 [49] => Rca8 [50] => 26.Rac1 [51] => Kg7 [52] => 27.Qd2 [53] => Qd6 [54] => 28.R1c4 [55] => Rd8 [56] => 29.Rxb4 [57] => Nxb4 [58] => 30.Qxb4 [59] => Qe7 [60] => 31.h3 [61] => Rd5 [62] => 32.Kf1 [63] => Ra8 [64] => 33.Qa4 [65] => Qd6 [66] => 34.Ke2 [67] => Kf8 [68] => 35.Rxd5 [69] => cxd5 [70] => 36.Nc5 [71] => Ke7 [72] => 37.Qb5 [73] => Rb8 [74] => 38.Kd2 [75] => f5 [76] => 39.Kc3 [77] => g5 [78] => 40.Kb4 [79] => 1-0 [80] => )
代码=>

while(! feof($file))
  {


 $n=$n+1;
            $hamle1= fgets($file);
    $hamle1 = str_replace("\n", "", $hamle1);
    $hamle1 = str_replace("\r", "", $hamle1);
    $hamle1 = trim($hamle1);
    $hamle1 = explode(" ", $hamle1);

        foreach($hamle1 as $item)
    {
        $hamle[] = $item;
    }
将删除空条目

$hamle = array_filter($hamle);
将删除空条目

$hamle = array_filter($hamle);

若要删除数组的最后一个元素(若为空),请使用以下代码

// get the last element of array
if(trim(end($hamle)) == '')
{
   // Remove last element from array
   array_pop($hamle) ;
}
请访问以下链接以了解上述代码中使用的函数


要删除数组的最后一个元素(如果该元素为空),请使用下面的代码

// get the last element of array
if(trim(end($hamle)) == '')
{
   // Remove last element from array
   array_pop($hamle) ;
}
请访问以下链接以了解上述代码中使用的函数


请发布您的代码。另外,修饰数组也会有帮助。@Dagon。。。谢谢你,我会尽力让你知道。。。RegardsHello@Dagon空元素仍然存在。。。关于
var\u dump($item)
,甚至可能是
var\u dump(bin2hex($item))
–这里“空”的确切含义是什么?如果您使用的是
trim
函数,则无需使用
str\u replace(“\n”,”,$hamle1);str\u replace(“\r”,”,$hamle1)
请发布您的代码。另外,修饰数组也会有帮助。@Dagon。。。谢谢你,我会尽力让你知道。。。RegardsHello@Dagon空元素仍然存在。。。关于
var\u dump($item)
,甚至可能是
var\u dump(bin2hex($item))
–这里“空”的确切含义是什么?如果您使用的是
trim
函数,则无需使用
str\u replace(“\n”,”,$hamle1);str_replace(“\r”,”,$hamle1)