数组到字符串的转换

Posted

技术标签:

【中文标题】数组到字符串的转换【英文标题】:Array to string conversion 【发布时间】:2014-09-10 06:53:16 【问题描述】:

我正在尝试使用简单的 case 语句来检查 $item 的值,该值作为数组返回。即使数组等于"iphones",代码也会返回默认的case 语句。有没有一种简单的方法可以将值作为字符串获取?

这是数组的值

object(stdClass)#209 (1) 
  ["item"]=>
  string(7) "iphones"

这是我的代码

class ItemController extends BaseController 

        public function item ($item) 

        $item = DB::table('Catagories')->where('item', $item)->first();

        if (isset($item)) 

        switch ($item) 
              case "iphones":
                echo "iphone!";
                break;
              case "phones":
                echo "phones!";
                break;
              case "tablets":
                echo "tablets!";
                break;
              default:
              echo "string";
             
          
       
      

【问题讨论】:

请发布'$item'数组格式。 【参考方案1】:

那不是数组;它是一个对象。您可以像这样访问它:

$item->item

$item 是一个具有名为item 的属性的对象,因此您使用上述语法。

【讨论】:

非常感谢!我还有一个问题。如果我传递一个附加对象的视图,像这样......'return View::make('general.buy') ->with('item', $item);' ,with()方法的第一个参数是什么? 我不确定您的其他问题是什么,但您应该使用页面顶部的“”按钮将其作为一个新问题提出。如果它有助于提供上下文,您可以链接到这个问题。【参考方案2】:

数组元素可以转换成这样的字符串:

<?php
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr);
?>

Documentation

【讨论】:

以上是关于数组到字符串的转换的主要内容,如果未能解决你的问题,请参考以下文章

将范围为 -128 到 127 的字节数组转换为字符串数组

laravel - ErrorException 数组到字符串的转换

数组到字符串的转换

为啥 array_diff() 给出数组到字符串的转换错误?

PDO 执行数组到字符串转换错误

无法解决“..中的数组到字符串转换” [重复]