gpt4 book ai didi

php - PHP 数组键可以有别名吗?

转载 作者:可可西里 更新时间:2023-11-01 13:26:39 26 4
gpt4 key购买 nike

这只是一个好奇的问题,其背后的原因纯粹是我稍微偷懒。这就是我的意思..

假设我有一个网站,其中 htaccess 制作了漂亮的 url,并将该数据作为当前“页面”发送到 $_GET['p'] 数组键。在索引文件中,我设置了页面,我做的第一件事是在配置文件 $_PAGE 数组中设置一些页面设置。现在,假设我有多个页面,我希望有相同的设置,(在页面下方,其他内容可能会略有变化,与设置不符。所以目前,我有一些看起来像以下 2 个 php 文件的东西。

// index.php
include('page.array.php');

echo '<title>'.$_PAGE[$_GET['p']]['title'].'</title>';

// page.array.php
$_PAGE = array(
'some/page/' => array(
'title' => 'This is an example'
)
)
$_PAGE['some/aliased/page/'] = $_PAGE['some/page/'];

请注意,在页面数组的末尾,为了给页面“别名”,我必须在创建数组后将其添加到末尾。

在 php 中是否有任何我可能只是不知道的方法,它可以让我有点懒惰(同时添加更清晰的代码),并使我可以简单地为 key 添加别名?我注意到以下内容不起作用,我想我的问题是,在创建数组期间是否有任何方法可以在同一数组中创建别名?

这个例子不起作用:

// page.array.php
$_PAGE = array(
'some/page/' => array(
'title' => 'This is an example'
),
'some/aliased/page/' => $_PAGE['some/page/']
)

也许是一种从内部引用“这个”数组的方法?

如果这不可能,我对“不可能”的回答没有意见。虽然如果你有更好的方法来解决这个问题,除了我上面描述的方法,为了更懒惰,我会有兴趣阅读它:)

最佳答案

我不相信您可以拥有像这样反射(reflect)数组中其他值的数组值。不过,您首先想到的是从 switch 语句中构造您的 $_PAGE 数组,使用 fall-through 值作为别名:

// Define path for testing, and empty page array
$path = "some/aliased/page";
$page = Array();

// Time to evaluate our path
switch ($path) {
// If it's either of these two cases
case "some/page":
case "some/aliased/page":
// Assign this array to $page
$page = Array("Title" => "Two Paths, One Page.");
break;
// If it's this case
case "some/other/path":
// Assign this array to $page
$page = Array("Title" => "Something else.");
break;
// If the path isn't found, default data
default:
$page = Array("Title" => "Page not found");
}

// Output the result
var_dump($page);

执行它:http://sandbox.onlinephpfunctions...ebd3dee1f37c5612c25

关于php - PHP 数组键可以有别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13830610/

26 4 0
文章推荐: php-serial 不工作
文章推荐: Javascript/jQuery Windows 8 屏幕键盘
文章推荐: angularjs - 使用 $index 在 ng-repeat 中间添加
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com