doubengman2072 2015-04-04 17:15
浏览 7
已采纳

检查文件中的int或字符串

I'm trying to open an input file containing a variety of data type. Something like this:

Woof 
50 
Meow 
30 
//...

And I'm not quite sure how to do it. I've googled for ways to do it and I found something like ctype_digit, is_digit, and is_string. I tested them out and I'm still not getting the expected result.

This is the code snippet I am using:

// Sorts the array by requested data type
function sortArray($anArray, $dataType){

    $array_string = array();
    $array_int = array();

    foreach ($anArray as $element){
        if (ctype_digit($element)){
            array_push($array_int, $element);
        }
        elseif (ctype_alpha($element)){
            array_push($array_string, $element);
        }
    }

    if ($dataType == "int"){
        return $array_int;
    }
    elseif ($dataType == "String"){
        return $array_string;
    }
} // end function sortArray($anArray, $dataType)

Can anyone help point out why it's not working?

  • 写回答

2条回答 默认 最新

  • douxin1884 2015-04-04 17:27
    关注

    Well your function seems way to complicated. Just filter all other values which you don't want with array_filter() out like this:

    <?php
    
        //As an example to get the data from the file nice and quick
        $lines = array_map("trim", file("test.txt", FILE_IGNORE_NEW_LINES));
    
        function filterArrayByType($arr, $type = "int") {
            return array_filter($arr, ($type === "int"?"ctype_digit":"ctype_alpha"));
        }
    
        $result = filterArrayByType($lines, "string"); //"int"
        print_r($result);
    
    ?>
    

    output:

    Array ( [0] => Woof [2] => Meow )  //Array ( [1] => 50 [3] => 30 )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题