php - 如何从 csv 获取数据并放入变量并仅获取我想要的值
问题描述
例子
我有 CSV 文件,其中包含 CSV 中随机数示例数据的数据:
639123456789,73999999999,739222222222,839444444444,8639555555555....more
所以,如果我上传它,我希望它在一个变量或一个数组中爆炸,只要我得到特定的数据。我想要获取的数据示例是从 73 开始的所有 2 个第一行,因此这意味着所有仅以 73 开头的数字。
示例:73999999999,739222222222
我已经尝试过使用 split、substr 和 explode 函数仅使用 1 个数字,但我的问题是用户是否输入了没有限制的 CSV 批量数据。
解决方案
您可以使用 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);
推荐阅读
- react-native - react-native-testing-library 使用 react-intl FromattedMessage 时如何获取文本?
- python - 抓取后保持浏览器窗口打开?
- python - 如何使 Python 驱动程序脚本退出,而流仍然在 Spark 中工作?
- unity3d - 如何统一禁用 DOTS / ECS 的默认重力?
- sql - 如何获取 hive 中子字符串的计数
- c# - 将 ArrayList 手动转换为 Array C#
- rust - 如何在 Clion 2021.1 中获取 Rust 代码覆盖率统计信息
- database - 我可以在 Windows 上设置 griddb 时使用 VS2019 构建 griddb
- python - Kafka consumer.poll 与 bitnami 容器一起挂起
- java - Spark Web 应用程序端口随机工作