Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.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_Codeigniter - Fatal编程技术网

Php 将数组键和值提取为变量

Php 将数组键和值提取为变量,php,codeigniter,Php,Codeigniter,正如您所知,Codeigniter是一个很棒的PHP框架,我正在尝试创建自己的框架。这里有个问题。我真的很喜欢Codeigniter中的$data功能,我想在我的框架中实现它。问题是,它是如何工作的。它的作用如下: 您可以这样创建一个数组: $data['title']= 'My Name'; 然后您可以在视图中这样使用此变量: $title ; 如何生成$data之类的变量?您需要的是将数组键转换为变量。 有一个内置函数可以实现这一点 -将变量从数组导入当前符号表 浏览文档并探索如何使用它

正如您所知,Codeigniter是一个很棒的PHP框架,我正在尝试创建自己的框架。这里有个问题。我真的很喜欢Codeigniter中的$data功能,我想在我的框架中实现它。问题是,它是如何工作的。它的作用如下:

您可以这样创建一个数组:

$data['title']= 'My Name';
然后您可以在视图中这样使用此变量:

$title ;

如何生成$data之类的变量?

您需要的是将数组键转换为变量。 有一个内置函数可以实现这一点

-将变量从数组导入当前符号表


浏览文档并探索如何使用它。

您需要的是将数组键转换为变量。 有一个内置函数可以实现这一点

-将变量从数组导入当前符号表


浏览文档,探索如何使用它。

你的问题有点含糊不清,如果你在这个问题上遇到困难,也不要编写自己的框架

但我认为您要问的是,CI如何在没有$data['var_name']的情况下访问$data中的变量

因此,如果你通过:

$data = array("title" => "a page title");
在你看来,你可以。这是你的问题吗?怎么做

这很简单

function view($data=array(),$file="your-view-file.php") {
extract($data); 
include($file);
}
因为extract与include在同一范围内


老实说,只需浏览CI文件并解决这些问题……

你的问题有点模糊,如果你在这个问题上遇到困难,也不要编写自己的框架

但我认为您要问的是,CI如何在没有$data['var_name']的情况下访问$data中的变量

因此,如果你通过:

$data = array("title" => "a page title");
在你看来,你可以。这是你的问题吗?怎么做

这很简单

function view($data=array(),$file="your-view-file.php") {
extract($data); 
include($file);
}
因为extract与include在同一范围内


老实说,只需浏览CI文件并解决这些问题…

我喜欢人们尝试创建自己的东西!。您只想在视图中使用数据变量,对吗?1$data功能LOL 2检查CI是如何实现的。整个源代码都在那里…这不仅仅是为了查看。。。在codeigniter中,您可以使用$data['title']='My name';然后在nest line中,您可以这样使用它:echo$title;这就是让我困惑的地方。当我们将变量传递到控制器中的$data数组中时,我们可以在将它传递到控制器中的$data数组后,在下面几行中使用该变量,而无需执行任何其他操作,也无需调用任何其他模块。不我喜欢人们尝试创造自己的东西!。您只想在视图中使用数据变量,对吗?1$data功能LOL 2检查CI是如何实现的。整个源代码都在那里…这不仅仅是为了查看。。。在codeigniter中,您可以使用$data['title']='My name';然后在nest line中,您可以这样使用它:echo$title;这就是让我困惑的地方。当我们将变量传递到控制器中的$data数组中时,我们可以在将它传递到控制器中的$data数组后,在下面几行中使用该变量,而无需执行任何其他操作,也无需调用任何其他模块。不我知道这是我的朋友。。。问题就在这里。。。。如何让$data变量自己做这些事情。。。不直接从我们这里调用任何函数,因为这是CI codeigniter所做的。@user3492977 CI为您做的。浏览system\coreLoader.php`并查看_ci_load函数。你会看到他们使用了提取物。在编写框架时,您需要加载视图的机制。在这样做的同时,您可以像他们那样使用此函数,或者更好地找到另一种加载视图的方法。干杯:我知道这是我的朋友。。。问题就在这里。。。。如何让$data变量自己做这些事情。。。不直接从我们这里调用任何函数,因为这是CI codeigniter所做的。@user3492977 CI为您做的。浏览system\coreLoader.php`并查看_ci_load函数。你会看到他们使用了提取物。在编写框架时,您需要加载视图的机制。在这样做的同时,您可以像他们那样使用此函数,或者更好地找到另一种加载视图的方法。干杯: