简体   繁体   中英

PHP Illegal Offset Type when creating array

I am trying to make some fake data in the form of an array in PHP and keep getting an Illegal Offset Type error when running this line, could anyone help explain why?

I looked up reasons for illegal offset errors and it doesn't seem like I am accessing any data via an offset, I am attempting to create an array, and no where do I see a spot where I am using an object as the association for the array.

$fake_data = array(
                    ["game_id"] => "1",
                    ["turn_number"] => "1",
                    ["host_user"] => array(
                                            ["units"] => array(
                                                                array("row"=> "1", "col" => "1", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "AssaultAlpha"),
                                                                array("row"=> "1", "col" => "2", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "JuggernautAlpha"),
                                                                array("row"=> "1", "col" => "3", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "MedicAlpha")

                                                              ),
                                            ["hit_indicators"] => array(
                                                                        array("row"=> "1", "col" => "3", "direction" => "1"),
                                                                        array("row"=> "1", "col" => "2", "direction" => "1")
                                                                )
                                          ),
                    ["client_user"] => array(
                                            ["units"] => array(
                                                                array("row"=> "5", "col" => "1", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "AssaultAlpha"),
                                                                array("row"=> "6", "col" => "2", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "JuggernautAlpha"),
                                                                array("row"=> "7", "col" => "3", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "MedicAlpha")

                                                              ),
                                            ["hit_indicators"] => array(
                                                                        array("row"=> "5", "col" => "3", "direction" => "1"),
                                                                        array("row"=> "6", "col" => "2", "direction" => "1")
                                                                )
                                          )
                    );

You have to remove the '[' and ']'. Here you are the corrected code

<?php
$fake_data = array(
                    "game_id" => "1",
                    "turn_number" => "1",
                    "host_user" => array(
                                            "units" => array(
                                                                array("row"=> "1", "col" => "1", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "AssaultAlpha"),
                                                                array("row"=> "1", "col" => "2", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "JuggernautAlpha"),
                                                                array("row"=> "1", "col" => "3", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "MedicAlpha")

                                                              ),
                                            "hit_indicators" => array(
                                                                        array("row"=> "1", "col" => "3", "direction" => "1"),
                                                                        array("row"=> "1", "col" => "2", "direction" => "1")
                                                                )
                                          ),
                    "client_user" => array(
                                            "units" => array(
                                                                array("row"=> "5", "col" => "1", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "AssaultAlpha"),
                                                                array("row"=> "6", "col" => "2", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "JuggernautAlpha"),
                                                                array("row"=> "7", "col" => "3", "hp" => "100", "armor" => "100", "is_dead" => "0", "direction_facing" => "1", "name" => "MedicAlpha")

                                                              ),
                                            "hit_indicators" => array(
                                                                        array("row"=> "5", "col" => "3", "direction" => "1"),
                                                                        array("row"=> "6", "col" => "2", "direction" => "1")
                                                                )
                                          )
                    );
?>
<pre><?php print_r($fake_data); ?></pre>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM