Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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_Arrays - Fatal编程技术网

Php 访问数组键值而不指定键

Php 访问数组键值而不指定键,php,arrays,Php,Arrays,我有: 新的$controller正在变成“狗玩具”,这不是我想要的 如何更改现有的内容,使$controller=新索引?某些变化: public $staticRoutes = array( 'dog-toys' => 'Index', ) ; if(array_key_exists($controller, $this->staticRoutes)) { $controller = new $controller ; } 我现在无法测

我有:

新的$controller正在变成“狗玩具”,这不是我想要的

如何更改现有的内容,使
$controller=新索引

某些变化:

public $staticRoutes = array(
        'dog-toys' => 'Index',
        ) ;

if(array_key_exists($controller, $this->staticRoutes))
{
    $controller = new $controller ;
}
我现在无法测试,因此为了安全起见,您还可以执行以下操作:

$controller = new ${staticRoutes[$controller]} ;
以下方面的一些变化:

public $staticRoutes = array(
        'dog-toys' => 'Index',
        ) ;

if(array_key_exists($controller, $this->staticRoutes))
{
    $controller = new $controller ;
}
我现在无法测试,因此为了安全起见,您还可以执行以下操作:

$controller = new ${staticRoutes[$controller]} ;

您需要实际使用
$staticRoutes
数组,如下所示:

$ctrl = $staticRoutes[$controller];
$controller = new $ctrl;

注意:为了清晰起见,我更改了分配给的变量的名称。我还假设尝试实例化此控制器的代码位于定义了
$staticRoutes
属性的同一类(或继承类)(因此使用
$this
)。

您需要实际使用
$staticRoutes
数组,如下所示:

$ctrl = $staticRoutes[$controller];
$controller = new $ctrl;

注意:为了清晰起见,我更改了分配给的变量的名称。我还假设尝试实例化此控制器的代码位于定义了
$staticRoutes
属性的同一类(或继承类)中(因此使用
$this
)。

OP-这是有效的,因为您的数组被称为关联数组。您的
$controller
变量实际上引用了该数组的键,因此您可以使用与索引(编号)数组相同的方式访问该值-
数组[key]
.OP-这是有效的,因为您的数组被称为关联数组。您的
$controller
变量实际上引用了该数组的键,因此您可以使用与索引(编号)数组相同的方式访问值-
数组[key]