GVKun编程网logo

PHP:未定义的偏移量:0,但不是dd()(php报错未定义索引)

11

在本文中,我们将带你了解PHP:未定义的偏移量:0,但不是dd()在这篇文章中,我们将为您详细介绍PHP:未定义的偏移量:0,但不是dd()的方方面面,并解答php报错未定义索引常见的疑惑,同时我们还

在本文中,我们将带你了解PHP:未定义的偏移量:0,但不是dd()在这篇文章中,我们将为您详细介绍PHP:未定义的偏移量:0,但不是dd()的方方面面,并解答php报错未定义索引常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的ErrorException 未定义的偏移量:0 laravel、php – codeigniter – 未初始化的字符串偏移量:0和非法字符串偏移量、php – Laravel 5.1未定义的变量:评论、php – Symfony2 – 注意:由于自定义查询,未定义的偏移量为0

本文目录一览:

PHP:未定义的偏移量:0,但不是dd()(php报错未定义索引)

PHP:未定义的偏移量:0,但不是dd()(php报错未定义索引)

我得到一个未定义的偏移量:0错误与laravel.奇怪的是,当我dd()它,它出现了.

$ports = $container->getPorts();
  $ports = $ports[0];

这将返回Undefined offset:0

当我dd()

$ports = $container->getPorts();
dd($ports[0]);

Port {#336 
  #privatePort: 80
  #publicPort: 32780
  #type: "tcp"
}

完整的数组:

array:1 [▼
  0 => Port {#336 ▼
    #privatePort: 80
    #publicPort: 32780
    #type: "tcp"
  }
]

我用docker-PHP sdk得到了这个错误.谁知道发生了什么?

完整代码:

public function dockerContainers()
{
    $docker = new \Docker\Docker();
    $containerManager = $docker->getContainerManager();
    $containers = $containerManager->findAll();

    $data = [];
    $x=0;
    foreach ($containers as $container) {
        $ports = $container->getPorts();
        // dd($ports[0]);
        $ports = $ports[0];
        $privatePort = $ports->getPrivatePort();
        $publicPort = $ports->getPublicPort();
        $data[$x++] = [
            'id'    => $container->getId(),'state'  => $container->getState(),'names'  => $container->getNames(),'image'  => $container->getimage(),'status' => $container->getStatus(),'ports'  => [
                'privatePort' => $privatePort,'publicPort'  => $publicPort
            ]
        ];
    }

    return view('containers',[ 'containers' => $data ]);
}

解决方法

这是因为你的一个容器没有端口,最好使用laravel collect()方法,它使你的数组​​成为集合对象,然后你可以使用可用的集合方法.
请尝试以下代码……

foreach ($containers as $container) {
            //getting ports and making laravel collection object
        $ports = collect($container->getPorts());
       if($ports->first()){
        $ports = $ports->first();
        $privatePort = $ports->getPrivatePort();
        $publicPort = $ports->getPublicPort();
        $data[$x++] = [
            'id'    => $container->getId(),'publicPort'  => $publicPort
            ]
        ];
    }
}

ErrorException 未定义的偏移量:0 laravel

ErrorException 未定义的偏移量:0 laravel

php artisan vendor:publish

试试这个:

php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"

php – codeigniter – 未初始化的字符串偏移量:0和非法字符串偏移量

php – codeigniter – 未初始化的字符串偏移量:0和非法字符串偏移量

我循环循环,有错误.
我以前试过这个,但现在它不起作用.

我的错误是:

A PHP Error was encountered

Severity: Notice

Message: Uninitialized string offset: 0

Filename: views/audit_trail_view.PHP

Line Number: 36

Backtrace:

File:
C:\xampp\htdocs\cemo-marikina\application\views\audit_trail_view.PHP
Line: 36 Function: _error_handler

File:
C:\xampp\htdocs\cemo-marikina\application\controllers\Employee.PHP
Line: 2819 Function: view

File: C:\xampp\htdocs\cemo-marikina\index.PHP Line: 292 Function:
require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset ‘user_id’

Filename: views/audit_trail_view.PHP

Line Number: 36

Backtrace:

File:
C:\xampp\htdocs\cemo-marikina\application\views\audit_trail_view.PHP
Line: 36 Function: _error_handler

File:
C:\xampp\htdocs\cemo-marikina\application\controllers\Employee.PHP
Line: 2819 Function: view

File: C:\xampp\htdocs\cemo-marikina\index.PHP Line: 292 Function:
require_once

视图:audit_trail_view.PHP

<?PHP 
    $first_name='';
    $last_name='';
    $middle_name='';
    $separator="";
    $user_id="";

    ?>
        <table border ="1" width="75%" >
            <tr>
                <td>User</td>
                <td>Action</td>
                <td>Date</td>
            </tr>
    <?PHP
    foreach($view as $view){

        $audit_id= $view['audit_id'];
        $audit_user_id= $view['audit_user_id'];
        $audit_record= $view['audit_record'];
        $audit_new_record= $view['audit_new_record'];

        $audit_date= $view['audit_date'];
        $timestamp=strtotime($view['audit_date']);


        $year=date('Y', $timestamp);
        $month=date('M', $timestamp);
        $day=date('d', $timestamp);
        $hour=date('h', $timestamp);
        $minute=date('i', $timestamp);
        $ap=date('a', $timestamp);
        foreach($users as $users){
            $id =$users['user_id'];
            if($id==$audit_id){
                $first_name=$users['fname'];
                $last_name=$users['lname'];
                $middle_name=$users['mname'];
            }
            else{
                $first_name='';
                $last_name='';
                $middle_name='';
            }

        }
    ?>  


        <tr>

            <td><?PHP echo $last_name." ".$first_name.", ".$middle_name;?> </td>
            <td><?PHP echo$audit_record.$separator.$audit_new_record;?> </td>
            <td><?PHP echo$month." ".$day.", ".$year." ".$hour.":".$minute." ".$ap;?> </td>
        </tr>   

    <?PHP   
    }





?>
    </table>

控制器:Employee.PHP

public function audit_trail_view(){
    $data['view']=$this->emp_model->audit_trail_view();
    $data['users']=$this->emp_model->audit_trail_users();
    $this->load->view("audit_trail_view.PHP",$data);
}

型号:Emp_model.PHP

/* AUDIT TRAIL VIEW START*/
    function audit_trail_view(){
        $this->db->select('*');
        $this->db->from('audit_table');

        $query = $this->db->get();
        return $query->result_array();
    }

    function audit_trail_users(){
        $this->db->select('*');
        $this->db->from('users');
        $query = $this->db->get();
        return $query->result_array();
    }
/* AUDIT TRAIL VIEW END*/

/* AUDIT TRAIL START */
    function audit_trail(){
        $data=array(
            'audit_user_id'=>$this->input->post('audit_user_id'),
            'audit_record'=>$this->input->post('audit_record'),
            'audit_new_record'=>$this->input->post('audit_new_record'),
        );
        $this->db->insert('audit_table',$data);
    }
/* AUDIT TRAIL END */   

解决方法:

你的每一个似乎很奇怪:

  foreach($users as $users){
        $id =$users['user_id'];
         ....

不应该更像是:

  foreach($users as $user){
        $id =$user['user_id'];
        .....

我确定迭代并分配给相同的变量名可能会导致意外的数组.

php – Laravel 5.1未定义的变量:评论

php – Laravel 5.1未定义的变量:评论

我正在尝试构建一个评论系统,用户可以在用户项目帖子上留下评论.

我可以保存并显示项目,并在特定的项目页面上(/ projects / {id})我有一个表单,用户可以在其中留下评论.我可以将注释保存在数据库中,但是当我尝试显示注释时,我得到此错误未定义变量:comments(查看:/var/www/resources/views/projects/show.blade.PHP).

我的文件:
评论模型:

class Comment extends Model
{
//comments table in database
protected $guarded = [];

public function user()
{
    return $this->belongsTo('App\User');
}

// returns post of any comment
public function post()
{
    return $this->belongsTo('App\Project','project_id');
}


public $timestamps = false;
}

项目模型:

class Project extends Model
{
protected $fillable = [
'user_id',
'title',
'tags',
'summary',
'file_name',
'published_at'
];
public function User()
{
    return $this->belongsTo('App\User');
}
}

我的用户模型

class User extends Model implements AuthenticatableContract,
                                AuthorizableContract,
                                CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;

/**
 * The database table used by the model.
 *
 * @var string
 */
protected $table = 'users';

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = ['name', 'email', 'password'];

/**
 * The attributes excluded from the model's JSON form.
 *
 * @var array
 */
protected $hidden = ['password', 'remember_token'];

public function Projects()
{
    return $this->hasMany('App\Project');
}

public function comments()
{
    return $this->hasMany('App\Comment');
}

}

我的评论控制器

 public function index()
{
    $comments = Comment::all();

    return view('projects.show', compact('comments'));
}

public function store()
{
    $input = Request::all();
    $comment = new Comment;
    $comment->body = $input['body'];
    $comment->on_projects = $input['project_id'];
    $comment->from_user = Auth::user()->id;
    $comment->save();
    return redirect('projects/'.$input['project_id']);

}

我的看法

@section('content')
<a href="/projects">Terug naar alle projecten</a>
<h1>Werkje: {{ $project->title }}</h1>
<h3>Gemaakt door: <a href='/student/{{ $project->User->id }}'>{{ $project->User->name }}</a></h3>
<img src="{{URL::to('/')}}/uploads/projects/{{ $project->file_name }}">
<h5>Tags: {{$project->tags}}</h5>
<hr />
<h1>Reageer</h1>

@if (Auth::check())

    <article> <!--Add comment -->

        <br/>
        {!! Form::open() !!}
        {!! form::text('body', null, ['class' => 'form-control']) !!}

        <br/>

        {!! Form::Submit('Reageer', ['class' => 'btn btn-primary form-control']) !!}
        {!! Form::hidden('project_id', $project->id) !!}


        {!! Form::close() !!}
        <br/>

    </article>


    <article>

        @foreach ($comments as $comment)

            <article>

                <p>Body: {{ $comment->body }}</p>
                <p>{{ $comment->user->name }}</p>

            </article>


        @endforeach

    </article>
@else
    <p>Gelieve in te loggen om te kunnen reageren.</p>
@endif

我的路线:

// Student routes REST methode
Route::resource('student', 'StudentController');
Route::get('student/profile', 'StudentController@getProfile');

// add comment
Route::post('projects/{id}','CommentController@store');
// show comments
Route::get('projects/{id}','CommentController@index');

//Project routes REST methode
Route::post('projects/store', 'ProjectsController@store');
Route::resource('projects', 'ProjectsController');

// Authentication routes
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getlogout');

// Registration routes
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');

// Password reset link request routes
Route::get('password/email', 'Auth\PasswordController@getEmail');
Route::post('password/email', 'Auth\PasswordController@postemail');

// Password reset routes
Route::get('password/reset/{token}', 'Auth\PasswordController@getReset');

我现在收到此错误:
未定义的变量:project(查看:/var/www/resources/views/projects/show.blade.PHP)

解决方法:

我的CommentController中的index()函数现在为空.

我在show {id}函数中查询了ProjectsController中的注释

public function show($id)
{
    $input = Request::all();
    $project = Project::all()->load("User");

    $project_comments = DB::table('comments')
        ->select('body', 'name')
        ->where('on_projects', '=', $id)
        ->join('users', 'users.id', '=', 'comments.from_user')
        ->get();

    return view('projects.show', ['project' => Project::findOrFail($id), 'comments' => $project_comments]);

}

这就是我解决路线冲突的方法

// add comment
Route::post('projects/{id}','CommentController@store');
// add project
Route::post('projects/store', 'ProjectsController@store');
//Project routes REST methode
Route::resource('projects', 'ProjectsController');

php – Symfony2 – 注意:由于自定义查询,未定义的偏移量为0

php – Symfony2 – 注意:由于自定义查询,未定义的偏移量为0

我有这个错误:

“Notice: Undefined offset: 0 in
C:\wamp\www\Videotheque\vendor\doctrine\lib\Doctrine\ORM\QueryBuilder.PHP
line 240”

我在线创建视频集.有两个实体:电影和流派.
在我的GenRerepository方法中,我尝试将函数findAll()重新定义为与类型相关的电影数量.

这是功能:

public function myFindAll()
{
    $genres = $this->_em->createqueryBuilder('g')
                        // leftJoin because I need all the genre
                        ->leftJoin('g.films', 'f')
                        ->addSelect('COUNT(f)')
                        ->groupBy('g')
                        ->getQuery()
                        ->getArrayResult();
    // $genres contains all the genres and the associated movies
    return ($genres);
}

解决方法:

Repository类提供了创建已为实体配置的QueryBuilder的方法,因此我们可以直接放置:

$this->createqueryBuilder('g')

今天关于PHP:未定义的偏移量:0,但不是dd()php报错未定义索引的介绍到此结束,谢谢您的阅读,有关ErrorException 未定义的偏移量:0 laravel、php – codeigniter – 未初始化的字符串偏移量:0和非法字符串偏移量、php – Laravel 5.1未定义的变量:评论、php – Symfony2 – 注意:由于自定义查询,未定义的偏移量为0等更多相关知识的信息可以在本站进行查询。

本文标签: