我正在尝试将数组结构生成为编码样式,因此可以将其用于进一步开发,以便我使用以下内容:
function convertArray($string)
{
$finalString = var_export($string, true);
return stripslashes($finalString);
}
它运行正常,但问题是它在值的开头和结尾添加了额外的引号,如何删除这些引号。
示例生成的字符串如下:
array (
'foo' => 'array('foo','bar','baz')',
'bar' => 'array('foo','bar')',
'baz' => 'array('foo','bar')',
);
我需要的字符串是:
array (
'foo' => array('foo','bar','baz'),
'bar' => array('foo','bar'),
'baz' => array('foo','bar'),
);
更新
以下是我创建数组的方法:
foreach( $attributes as $attrib )
{
if( $attrib->primary_key == '1' )
$column[$attrib->name] = array("'$attrib->type'", "'$attrib->max_length'", '\'pk\'');
else
$column[$attrib->name] = array("'$attrib->type'", "'$attrib->max_length'");
$string[$attrib->name] = 'array('.implode(',', $column[$attrib->name]).')';
}
从此循环处理后,最终数组发送到上面的函数,将其转换为我想要的格式/
答案 0 :(得分:1)
你可以使用反斜杠
$string = "Some text \" I have a double quote";
$string1 = 'Second text \' and again i have quote in text';
失去了变种
您可以使用1个idiot变体来创建许多行字符串,例如:
$string = <<<HERE
Many many text
HERE;
但我不建议使用此变体
答案 1 :(得分:0)
尝试使用trim。 例如:
$string = "'text with quotes'";
echo $string; // output: 'text with quotes'
echo trim($string, array("'")); // output: text with quotes