我需要帮助。我在smarty中开发了一个页面,我从查询中得到了一个结果集,我需要将结果集更改为字符串并存储在文本区域中
我的查询在下面给出
select val from test
我的结果集是在控制器中的var_dump中打印
{ [0]=> array(1) { ["val"]=> string(1) "c" } [1]=> array(1) { ["val"]=> string(3) "c++" } [2]=> array(1) { ["val"]=> string(4) "java" } [3]=> array(1) { ["val"]=> string(3) "PHP" } }
我需要改为像c,c++,java,PHP
更改功能仅执行控制器
请帮助我......然后帮助
答案 0 :(得分:1)
使用foreach。点击此处查看更多信息 - http://php.net/manual/en/control-structures.foreach.php。
示例 -
$array = Array("333", "222", "111");
foreach($array as $string) {
echo $string.'<br />';
}
另一种解决方案是使用内爆。
在此处查看更多信息 - http://php.net/manual/en/function.implode.php,再次举一个小例子 -
$array = Array("333", "222", "111");
$strings = implode(",", $array); // comma in first quotes are seperator, you can set it also to " " for a single space.
echo $strings; // In this case it will output 333,222,111 if you would set it to empty space then it would output 333 222 11
修改强>
要写入文件,您必须使用文件功能。
点击此链接 - http://php.net/manual/en/function.file-put-contents.php
示例 -
// your file
$file = 'sample.txt';
$array = Array("333", "222", "111");
// Add all strings to $content.
foreach($array as $string) {
$content .= $string.'<br />';
}
// write everything in file
file_put_contents($file, $content);
<强>建议:强>
当你编写SQL查询时,我建议你现在已经开始学习正确编写它们,这样它们就更容易阅读。
例如,您的查询 -
select val from test
可以更改为 -
SELECT `val` FROM `test`
这很容易阅读和理解。
答案 1 :(得分:0)
如果您需要使用某些分隔符加入所有数组,请使用implode。 例如:
$arr = array("hi", "peter!", "how", "are", "you");
echo implode(" ", $arr) . "?";
//output
// hi peter! how are you?
答案 2 :(得分:0)
如果您想要用逗号分隔的字符串,则必须使用implode函数
string implode ( string $glue , array $pieces )
glue:默认为空字符串。这不是implode()的首选用法,因为胶水将是第二个参数,因此,将使用坏原型。 pieces:要崩溃的字符串数组。
返回一个字符串,该字符串包含相同顺序的所有数组元素的字符串表示形式,每个元素之间都有粘合字符串。
实施例
$array = Array("333", "222", "111");
$string = explode(',', $array);
返回
"333,222,111"
如果你想要空格:
$string = explode(' ', $array);
返回
"333 222 111"