Php 循环浏览每行第一个数字的文本文件
下面的代码适用于每行的第一个单词,但如何获得每行的第一个数字?请记住,数字可以是1位数,也可以是20位数Php 循环浏览每行第一个数字的文本文件,php,Php,下面的代码适用于每行的第一个单词,但如何获得每行的第一个数字?请记住,数字可以是1位数,也可以是20位数 <?php $file = new SplFileObject("/tmp/test.txt", "r"); $data = array(); while(! $file->eof()) { $data[] = array_shift(($file->fgetcsv("|"))); } echo implode(",
<?php
$file = new SplFileObject("/tmp/test.txt", "r");
$data = array();
while(! $file->eof()) {
$data[] = array_shift(($file->fgetcsv("|")));
}
echo implode(",", $data);
?>
您展示的代码是第一部分,而不是第一个单词。 您必须使用foreach、array\u walk等遍历数组 例如:
<?php
$file = new SplFileObject("/tmp/test.txt", "r");
$data = array();
while(! $file->eof()) {
foreach($file->fgetcsv("|") as $part) {
if (is_numeric($part)) { //or any other numeric check you like
$data[] = $part;
break;
}
}
}
echo implode(",", $data);
?>
这将获取字符串中的第一个数字:
function getFirstNumber($str){
$strlen = strlen( $str );
$num = "";
for( $i = 0; $i <= $strlen; $i++ ) {
$char = substr($str, $i, 1);
if(!is_numeric( $char)){
if(!empty($num))
return intval($num);
}else $num .= $char;
}
return intval($num);
}
$str = "asdfas1234241234lkj 1l2k3j4 1k2j3412341234";
echo getFirstNumber($str);
函数getFirstNumber($str){
$strlen=strlen($str);
$num=”“;
对于($i=0;$i出现错误:语法错误意外的文件结尾忘记了a}。已解决@SlopTonio