从PHP中的数组元素(String)的末尾删除单引号

时间:2017-07-20 09:47:51

标签: php arrays

我有3000个元素的数组,就像这样

   Array[0]= 405adc92-cfad-4be6-9ad2-ca363eda4933
   Array[1]= 405adc92-cfad-4be6-9ad2-ca363eda4933

我需要在一个函数中传递一个变量,它在开头只需要一个引号。我在网上尝试了一个解决方案,在开始和结束时粘贴单引号。就像这个

function add_quotes($str) {
   return sprintf("'%s'", $str);
}
$csv =  implode(',', array_map('add_quotes', $a));
 $myArray = explode(',', $csv);
echo gettype($myArray[1]);

所以答案就像这样

myArray[1]='405adc92-cfad-4be6-9ad2-ca363eda4933'

那么我该怎样做才能摆脱?

2 个答案:

答案 0 :(得分:3)

你不能只是添加'在每个字符串的开头,而不是先添加太多的字符串,然后删除错误放置的字符串?

foreach($myArray as $key => &$value) {
  $value = "'" . $value;
}

或(可能更具可读性而非参考)

foreach($myArray as $key => $value) {
  $myArray[$key] = "'" . $value;
}

答案 1 :(得分:1)

您可以使用rtrim - http://uk1.php.net/manual/en/function.rtrim.php来实现。通用语法是:

<?php
    $foo = 'my string\'';
    $bar = rtrim($foo, '\'');

    var_dump($foo); //shows my string'
    var_dump($bar); //shows my string

所以在你的情况下取数组值,然后使用rtrim($myArray['myKey'], '\'') - 这应该为你做:)