我有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'
那么我该怎样做才能摆脱?
答案 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'], '\'')
- 这应该为你做:)