php,在数组中拆分额外值之后

php,在数组中拆分额外值之后,php,arrays,sorting,split,Php,Arrays,Sorting,Split,我将以下内容归档: 12x4x11 12x17x20 4x19x30 5x18x10 17x6x18 19x30x20 11x2x17 30x13x19 22x23x7 17x28x2 5x17x30 阵列外观如何: 分类后: 您只需删除数组的最后一个元素,然后使用以下函数将其放入数组中: PHP $array = array(); $handle = fopen("2.txt", "r"); if ($handle) { while (($line = fgets($handle))

我将以下内容归档:

12x4x11 12x17x20 4x19x30 5x18x10 17x6x18 19x30x20 11x2x17 30x13x19 22x23x7 17x28x2 5x17x30 阵列外观如何:

分类后:


您只需删除数组的最后一个元素,然后使用以下函数将其放入数组中:

PHP

$array = array();
$handle = fopen("2.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $line = split('x', $line);
        array_pop($line);
        //sort($line);
        print_r($line);
        array_push($array, $line);
    }
    fclose($handle);
} else {
    echo "File is failed to open";
} 
$array = array();
$handle = fopen("2.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $line = split('x', trim($line));
        //sort($line);
        print_r($line);
        array_push($array, $line);
    }
    fclose($handle);
} else {
    echo "File is failed to open";
} 
或者,您可以使用PHP函数删除行末尾的空格:

PHP

$array = array();
$handle = fopen("2.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $line = split('x', $line);
        array_pop($line);
        //sort($line);
        print_r($line);
        array_push($array, $line);
    }
    fclose($handle);
} else {
    echo "File is failed to open";
} 
$array = array();
$handle = fopen("2.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $line = split('x', trim($line));
        //sort($line);
        print_r($line);
        array_push($array, $line);
    }
    fclose($handle);
} else {
    echo "File is failed to open";
} 

你的问题是新行是你所读行的一部分。比如在这一行

12x4x11

11的值实际上是11/n

/n是新行字符

解决这个问题的方法很简单,只要在拆分前阅读时修剪一行即可。这将删除新行字符

像这样

$line = split('x', trim($line));