如何将PHP字符串按制表符( )转换为PHP数组?
把带制表符的PHP字符串转为数组的实现方法
嘿,这个需求其实挺常见的,PHP里有几种简单又实用的方法能搞定,我给你分享两个常用方案:
方法一:使用explode()函数(基础场景)
如果你的字符串里没有嵌套的制表符(也就是每个字段本身不会包含制表符),直接用explode()是最直接的方式,它会按指定的分隔符把字符串拆成数组。
代码示例:
// 原始带制表符的字符串 $str = "Advertiser ID Company Manager Contact Person IM_Skype"; // 按制表符("\t")拆分字符串为数组 $array = explode("\t", $str); // 输出结果查看 print_r($array);
运行后你会得到一个索引数组,每个元素对应原来的列名:
Array ( [0] => Advertiser ID [1] => Company [2] => Manager [3] => Contact Person [4] => IM_Skype )
方法二:使用str_getcsv()函数(健壮场景)
如果以后你的字符串可能出现字段包含制表符的情况(比如字段内容被双引号包裹,里面有制表符),str_getcsv()会更靠谱,它能正确解析带引号的字段,避免错误拆分。
这个函数默认按逗号分隔,但我们可以指定第二个参数为制表符来适配需求:
代码示例:
$str = "Advertiser ID Company Manager Contact Person IM_Skype"; // 指定分隔符为制表符("\t") $array = str_getcsv($str, "\t"); print_r($array);
额外小技巧:处理多余的制表符
如果原始字符串开头或结尾有多余的制表符,拆分后可能会出现空元素,这时候可以先用trim()清理掉两端的制表符:
$str = "\tAdvertiser ID Company Manager Contact Person IM_Skype\t"; // 先清理两端的制表符,再拆分 $array = explode("\t", trim($str, "\t"));
内容的提问来源于stack exchange,提问作者Rana Pratap
相关产品推荐
相关产品推荐

