示例
我的CSV文件包含CSV中随机数示例数据的数据:
639123456789,73999999999,739222222222,839444444444,8639555555555....more
所以,如果我上传它,只要我获得特定数据,我希望它在变量或数组中爆炸。我希望得到的数据的例子是从2开始的所有2个第一行被提取,因此意味着所有以73开头的数字。
示例:73999999999,739222222222
我通过使用split,substr和explode函数仅使用1个数字来尝试它但我的问题是如果用户输入没有限制的CSV批量数据。
答案 0 :(得分:0)
您可以使用substr()并循环遍历数组,删除不匹配的元素。
$str = '639123456789,73999999999,739222222222,839444444444,8639555555555';
$array = explode(',', $str); //Convert your string to an array.
$searchString = '73'; //Set the value your looking for.
foreach($array as $key=>$value){
if(substr($value, 0, 2) != $searchString){ //This will test first two characters.
unset($array[$key]);
}
}
$array = array_values($array);
print_r($array);
这将输出:
Array
(
[0] => 73999999999
[1] => 739222222222
)
<强>更新强>
这将生成一个只包含你想要的数字的新数组,保持原始数组不变。
$str = '639123456789,73999999999,739222222222,839444444444,739222222222,839444444444,839444444444,73999999999';
$array = explode(',', $str);
$searchString = '73';
foreach($array as $key=>$value){
if(substr($value, 0, 2) == $searchString){
$results[] = $value;
}
}
print_r($results);