【问题标题】:PHP Array convert to be double quotePHP数组转换为双引号
【发布时间】:2017-03-16 11:57:09
【问题描述】:

如何给每个逗号加双引号

$var = array();
$var[] = "a, b, c";
$var = explode( ',', $var );

我要显示的是:

var[] = ("a", "b", "c");

【问题讨论】:

  • 您可能会寻找implode() 而不是explode()
  • explode() 方法期望第二个参数是字符串而不是你给它的数组?
  • 是面试题吗?
  • @HiDayurieDave 这个问题的状态如何? amenadiel 的解决方案能解决您的问题还是您需要不同的答案?

标签: php arrays


【解决方案1】:

给定一个字符串

$mystring="a, b, c";

你爆炸成一个数组

$myarray = explode(', ', $mystring);

你的数组将包含三个元素,每个元素都是一个字符串,所以确实

$myarray == ['a', 'b', 'c'];

虽然

$myarray == ["a", "b", "c"];

现在,如果您希望您的数组存储字符串特别是包括双引号,则拥有

$myarray == ['"a"', '"b"', '"c"'];

这需要您执行array_map,但这似乎超出了您的问题范围。

【讨论】:

  • @HiDayurieDave 这似乎是一个正确的答案,虽然你的答案不是很清楚。请将您的问题标记为已接受,或者通过评论或问题编辑提供反馈(然后 ping amenadiel),从而解决您的问题。
  • @HiDayurieDave 我看到您已登录 SO。请通过标记已接受的答案来解决此问题。这似乎是正确的。
【解决方案2】:

(抱歉英语不好)

$var = array(); //you declare $var as array
$var[] = "a, b, c"; // you assign $var[0] = "a, b, c"
$var = explode( ',', $var ); // call explode with $var which is an array and will give error because second param must be a string

当您将[] 放在变量的末尾(如$var[])时,您是在告诉php $var 是一个数组

当你像你一样赋值一个值 ($var[] = "a, b, c") 时,你是在告诉 php 使用该数组中的第一个可用插槽/空间来存储该字符串,在这种情况下为零 (0)。

如果您想将该字符串存储为使用, 作为分隔符的数组,您只需这样做:

$var = explode(",", "a, b, c");

【讨论】:

  • 在逗号和空格上爆炸以保持整洁。您的解决方案未返回预期结果。
猜你喜欢
  • 2015-02-16
  • 2013-01-20
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
  • 2020-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多