繁体   English   中英

PHP 将单引号添加到逗号分隔列表

[英]PHP add single quotes to comma separated list

当我内爆我的数组时,我得到一个如下所示的列表:

qwerty, QTPQ, FRQO

我需要添加单引号,所以它看起来像:

'qwerty', 'QTPQ', 'FRQO'

这可以使用 PHP 来完成吗?

在 implode() 之前和之后使用'

$temp = array("abc","xyz");

$result = "'" . implode ( "', '", $temp ) . "'";

echo $result; // 'abc', 'xyz'

这是另一种方式:

$arr = ['qwerty', 'QTPQ', 'FRQO'];

$str = implode(', ', array_map(function($val){return sprintf("'%s'", $val);}, $arr));

echo $str; //'qwerty', 'QTPQ', 'FRQO'

sprintf() 是一种将单引号括在数组中的每个项目周围的简洁方法

array_map() 为每个数组项执行此操作并返回更新后的数组

implode() 然后使用逗号作为胶水将更新后的数组 with 转换为字符串

您可以将胶水设置为', '然后将结果包装在'

$res = "'" . implode ( "', '", $array ) . "'";

http://codepad.org/bkTHfkfx

类似于 Rizier123 所说的,PHP 的implode方法需要两个参数; “glue”字符串和“pieces”数组。

所以,

$str = implode(", ", $arr);

给你用逗号和空格分隔的元素,所以

$str = implode("', '", $arr);

为您提供由', '分隔的元素。

从那里您需要做的就是将您的列表与两端的单引号连接起来。

    $ids = array();
    foreach ($file as $newaarr) {
        array_push($ids, $newaarr['Identifiant']);

    }
   $ids =array_unique($ids);
    //$idAll=implode(',',$ids);

     $idAll = "'" . implode ( "', '", $ids ) . "'";

它也可以像这样短:

sprintf("'%s'", implode("', '", $array))
function implode_string($data, $str_starter = "'", $str_ender = "'", $str_seperator = ",") {
    if (isset($data) && $data) {
        if (is_array($data)) {
            foreach ($data as $value) {
                $str[] = $str_starter . addslashes($value) . $str_ender . $str_seperator;
            }
            return (isset($str) && $str) ? implode($str_seperator, $str) :  null;
        }
        return $str_starter . $data . $str_ender;
    }
}

您可以在 PHP 中使用名为'implode'的方法。这将帮助您将所有数组值与给定的分隔符连接起来。

$arr = ['qwe', 'asd', 'zxc'];
echo implode(',', array_map(function($i){return "'".$i."'";}, $arr));

您 output 将如下所示:

'qwe','asd','zxc'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM