dyl*_*zed 15 php arrays object
这是一个奇怪的问题.我手动构建一个对象数组,如下所示:
$pages_array[0]->slug = "index";
$pages_array[0]->title = "Site Index";
$pages_array[0]->template = "interior";
$pages_array[1]->slug = "a";
$pages_array[1]->title = "100% Wide (Layout A)";
$pages_array[1]->template = "interior";
$pages_array[2]->slug = "homepage";
$pages_array[2]->title = "Homepage";
$pages_array[2]->template = "homepage";
Run Code Online (Sandbox Code Playgroud)
我喜欢这是多么明确,但因为我必须指定索引号,所以我不能轻易地重新排列它们.如果没有索引号怎么办呢?相关的,有什么更好的方法呢?
我也尝试通过创建一个类来编写它,并让数组上的每个点都是该类的实例.但由于这是一个配置文件,因此很难阅读并知道参数是什么参数.这就是我选择上述老式方法的原因.
任何想法都非常感谢!
use*_*291 29
这段代码
$pages_array[1]->slug = "a";
Run Code Online (Sandbox Code Playgroud)
无论如何都是无效的 - 如果你没有正确初始化对象,你会得到一个"严格"的警告.所以你必须以某种方式构造一个对象 - 使用构造函数:
$pages_array[] = new MyObject('index', 'title'....)
Run Code Online (Sandbox Code Playgroud)
或者使用stdclass演员
$pages_array[] = (object) array('slug' => 'xxx', 'title' => 'etc')
Run Code Online (Sandbox Code Playgroud)
jam*_*ace 11
有以下三种方式:
方式一:
$pages_array=[
[
"id" => 1,
"name" => "James"
],
[
"id" => 2,
"name" => "Mary"
]
];
Run Code Online (Sandbox Code Playgroud)
方式2:
$pages_array[0] =
[
"id" => 1,
"name" => "James"
];
$pages_array[1] =
[
"id" => 2,
"name" => "Mary"
];
Run Code Online (Sandbox Code Playgroud)
方式3:
$pages_array = array(
array(
"id" => 2,
"name" => "Mary"
),
array(
"id" => 1,
"name" => "James"
),
);
Run Code Online (Sandbox Code Playgroud)
如果你使用命名键而不是对象创建数组,你可以这样做:
$pages_array = array(
array(
'slug' => 'index',
'title' => 'Site Index',
'template' => 'interior'
),
array(
'slug' => 'a',
'title' => '100% Wide (Layout A)',
'template' => 'interior'
),
array(
'slug' => 'homepage',
'title' => 'Homepage',
'template' => 'homepage'
)
);
Run Code Online (Sandbox Code Playgroud)
您可以将此与Fanis的解决方案结合使用,并根据需要使用slugs作为键.
归档时间: |
|
查看次数: |
40874 次 |
最近记录: |