douwenan9849 2016-07-03 16:33
浏览 50
已采纳

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

I put in file this content:

12x4x11
12x17x20
4x19x30
5x18x10
17x6x18
19x30x20
11x2x17
30x13x19
22x23x7
17x28x2
5x17x30

When i read file line by line and spliting line with pattern 'x', to array always adding the extra space in array, so sorting array is not properly. Here code:

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

How is looking array:

http://i.stack.imgur.com/OhLzQ.png

And after sorting:

http://i.stack.imgur.com/4t4V4.png

  • 写回答

2条回答 默认 最新

  • duangu6588 2016-07-03 16:37
    关注

    You just need to remove the last element of your array before putting it in your array using the array_pop function :

    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";
    } 
    

    or you can use PHP trim function to remove space at the end of your line :

    PHP

    $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";
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 MATLAB APP 制作出现问题
  • ¥15 wannier复现图像时berry曲率极值点与高对称点严重偏移
  • ¥15 利用决策森林为什么会出现这样·的问题(关键词-情感分析)
  • ¥15 DispatcherServlet.noHandlerFound No mapping found for HTTP request with URI[/untitled30_war_e
  • ¥15 使用deepspeed训练,发现想要训练的参数没有梯度
  • ¥15 寻找一块做为智能割草机的驱动板(标签-stm32|关键词-m3)
  • ¥15 信息管理系统的查找和排序
  • ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),怎么用读取的电磁传感器信号表示小车所在的位置
  • ¥15 如何解决y_true和y_predict数据类型不匹配的问题(相关搜索:机器学习)
  • ¥15 PB中矩阵文本型数据的总计问题。