Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取数组的值?_Php_Laravel_Blade - Fatal编程技术网

Php 如何获取数组的值?

Php 如何获取数组的值?,php,laravel,blade,Php,Laravel,Blade,我试图从视图访问数组的属性。控制器正在将数组传递给该视图。由于某些原因,我无法访问数组属性 错误消息: Trying to get property 'message' of non-object (View: /path/to/file/message.blade.php) 发生错误时查看代码+: @extends('layouts.app') @section('content') <div class="container"> <div class="row

我试图从视图访问数组的属性。控制器正在将数组传递给该视图。由于某些原因,我无法访问数组属性

错误消息:

Trying to get property 'message' of non-object (View: /path/to/file/message.blade.php)
发生错误时查看代码+:

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">


            <div class="card">
                <div class="card-header">{{$message->title}}</div>

                <div class="card-body">
                    {{$message->message}}
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
@extends('layouts.app'))
@节(“内容”)
{{$message->title}
{{$message->message}
@端部
返回上述视图的控制器代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Auth;
use App\User;

class becomeorganiser extends Controller
{
    public function becomeorganiser(){
      $user = Auth::user();
      $user->organiser = 1;
      $user->save();
      $message = [];
      $message['title'] = 'Success!';
      $message['message'] = 'You are now an event organiser<br>You now have access the oragnisers control panel in your navigation bar!';

      return view('message', $message);
    }
}

$message
不是一个对象,但您正在作为一个对象访问它。它是一个数组,正如您在控制器中定义的那样(
$message=[];
),因此您需要访问它

所以应该是这样,

<div class="card-header">{{ $message['title'] }}</div>    
<div class="card-body">
      {{ $message['message'] }}
</div>
{{$message['title']}
{{$message['message']}
因此,错误是:

试图获取非对象的属性“message”(视图:/path/to/file/message.blade.php)

这是完全正确的

阅读材料

编辑#1

关于你的新错误

非法字符串偏移量“title”(视图:


根据我的评论和您的更新,您正在使用数字键,但该数组已被定义为关联数组。请再次阅读上面的内容,注意我是如何从数组中访问值的。

$message
不是一个对象,但您是作为一个对象访问它的。它是一个数组,正如您在控件中定义的那样ller(
$message=[];
),因此您需要这样访问它

所以应该是这样,

<div class="card-header">{{ $message['title'] }}</div>    
<div class="card-body">
      {{ $message['message'] }}
</div>
{{$message['title']}
{{$message['message']}
因此,错误是:

试图获取非对象的属性“message”(视图:/path/to/file/message.blade.php)

这是完全正确的

阅读材料

编辑#1

关于你的新错误

非法字符串偏移量“title”(视图:


根据我的评论和您的更新,您正在使用数字键,但数组已被定义为关联数组。请再次阅读上面的内容,注意我是如何从数组中访问值的。

我不明白您的意思。您是在告诉我它需要是一个通过的对象而不是数组吗?@ICP否。我说的正是相反,看看你的代码,你传递了一个数组,然后试图将其作为对象访问。你需要将其作为数组访问。我说得通吗?好的,我现在明白了。但是,我通过使用你的代码“非法字符串偏移量”title(视图:…)得到了这个错误@ICP是您输入到
$message
的唯一值,还是还有其他值?请尝试执行
var\u dump
以查看值是否正确地输入到数组中。这三行就是它。消息在第一行之前不存在。我不明白您的意思。您是在告诉我它需要是一个对象吗帽子传递而不是数组?@ICP否。我说的恰恰相反,看看你的代码,你传递了一个数组,然后试图将其作为对象访问。你需要将其作为数组访问。我说得通吗?好的,我现在明白了。但是,我通过使用你的代码“非法字符串偏移量”标题(视图:…)得到了这个错误@ICP是您输入到
$message
中的唯一值,还是还有其他值?请尝试执行
var\u dump
以查看这些值是否正确地输入到数组中。这三行就是它。消息在第一行之前不存在。请不要根据您收到的答案编辑您的问题,否则会出现错误将
message->title
发送到
message[0]
,然后发送
message['title']
基于Script46的答案。因此,在进行编辑之前,您的问题和答案没有任何意义。很抱歉,我试图让它工作,但忘记了将更改放回。我从未打算更改代码。我只是想添加我认为是问题代码的代码。请不要编辑您的qu根据您收到的答案,您将
message->title
更改为
message[0]
,然后更改为
message['title']
基于Script46的答案。因此,在进行编辑之前,您的问题和答案没有任何意义。很抱歉,我试图让它正常工作,但忘记了将更改放回原处。我从未打算更改代码。我只是想添加一些我认为是问题代码的代码。