【问题标题】:How to convert array to string in codeigniter?如何在codeigniter中将数组转换为字符串?
【发布时间】:2016-05-19 16:28:18
【问题描述】:

我是 PHP 新手。

我想转换这个数组;

array(2) {  
    [0]=> object(stdClass)#24 (1) { 
        ["item"]=> string(1) "2" 
    } 
    [1]=> object(stdClass)#25 (1) { 
        ["item"]=> string(1) "1" 
    } 
}

这样串起来

string(1) "2", string(2)"1", string(3)"0"...

这样做的方法是什么?

注意:我尝试在 php 代码中添加“row()”。但总是单一的结果。 例如:只有 string(1)"2"

【问题讨论】:

  • 对象来自哪里?是来自数据库吗?你是否试图让这些字符串循环?你要一个字符串还是多个字符串?
  • 你在寻找 print_r 函数吗?
  • 字面上想要string(2)"1"吗?这看起来像var_dump 的输出,但字符串的长度不正确。
  • 没错,我认为 OP 不知道这一点
  • @RocketHazmat 我想要多个字符串。例如:$this->db->where('item', $data->$item);但我的查询是数组。

标签: php arrays string codeigniter


【解决方案1】:

你在问一些奇怪的事情。但这里有一个答案:

假设$arr 是你的

array(2) { [0]=> object(stdClass)#24 (1) { ["item"]=> string(1) "2" } 
[1]=> object(stdClass)#25 (1) { ["item"]=> string(1) "1" } }

那么您将其转换为您提到的字符串的代码将是:

$str=''; $idx=0;
foreach ($arr as $obj) {
  $str.=($idx==0?'':', ').'string ('.$idx++.') "'.$obj->item.'"';
}

现在你在$str var 中有你奇怪的字符串。

或者如果我的第一个奇怪的猜测是错误的。这是另一个对我来说更有意义,但不是你问的:

foreach ($arr as $obj) {
   echo $obj->item; // or do whatever you want with this value which is string type
}

【讨论】:

  • 没错,我认为 OP 没有意识到这一点。
【解决方案2】:

看起来你有一个数组对象,你需要在这里使用一个foreach循环,你的数组值为“2”,“1”。不是 string(1) "2"string(1) "1",您使用 var_dump 以便数组显示类型和长度。

array(2) {  
    [0]=> object(stdClass)#24 (1) { 
        ["item"]=> string(1) "2" 
    } 
    [1]=> object(stdClass)#25 (1) { 
        ["item"]=> string(1) "1" 
    } 
}

要使用 foreach 获取每个值,请参见下面的示例,让您的数组名称为 $arr

foreach($arr as $val){
    echo $val->item; 
}

这会将数组值显示为:“2”、“1”。

【讨论】:

  • 但我不能使用数据库查询。例如:$this->db->where('item', $data4->$item);
  • 你想像 array(2,1) 一样使用它们。
  • 只需使用 $s = implode(",", (array)$arr);。我认为它有效
猜你喜欢
  • 2021-06-12
  • 1970-01-01
  • 2015-11-11
  • 2016-11-20
  • 2021-12-13
  • 1970-01-01
  • 2019-02-17
  • 2021-06-27
  • 1970-01-01
相关资源
最近更新 更多