PHP如何将变量内容存入数组?MySQL取数存数组取值不符问题求助
错误原因
- 你定义的
$carsa是单个完整字符串,内容为"Volvo","Deneme",直接用array($carsa)生成数组时,整个字符串会被当做数组的唯一元素,此时$cars的结构实际为:
Array ( [0] => "\"Volvo\",\"Deneme\"" )
所以你取$cars[0]自然会输出完整的字符串,而不是预期的第一个子元素Volvo。
修复方案
你需要先把这个逗号分隔、带引号的字符串解析为真正的数组,推荐使用PHP内置的str_getcsv()函数,它可以直接处理这种符合CSV格式的字符串,自动去掉引号、按逗号拆分:
<?php $carsa = '"Volvo","Deneme"'; // 解析CSV格式字符串为数组 $cars = str_getcsv($carsa); echo $cars[0]; // 输出 Volvo ?>
也可以手动拆分后去除引号:
<?php $carsa = '"Volvo","Deneme"'; // 先按逗号拆分字符串,再遍历去掉每个元素两端的双引号 $cars = array_map(function($item){ return trim($item, '"'); }, explode(',', $carsa)); echo $cars[0]; // 输出 Volvo ?>
内容的提问来源于stack exchange,提问作者momalone
相关产品推荐
相关产品推荐

