ホームページ > バックエンド開発 > PHPチュートリアル > PHP 配列を構成ファイルとして使用する方法

PHP 配列を構成ファイルとして使用する方法

WBOY
リリース: 2016-07-25 08:58:19
オリジナル
1001 人が閲覧しました
本文介绍下,将php数组作为配置文件的使用方法,几个小例子,供大家学习参考。

在php编程中,经常会用数组的形式('配置参数' => '配置值',)作为配置文件,例如:

array ( 'var1' => 'val1', 'var2' => 'val2', 'var3' => 'val3', );

本文就介绍下数组配置文件的具体使用方法,供大家参考。 首先,把这个数组前面加上 return,单独保存为一个文件:

return array ( 'var1' => 'val1', 'var2' => 'val2', 'var3' => 'val3', );

然后,在另一个文件里 require 它,就会返回该数组,然后再用 extract 函数把数组转化为变量。 例子:

<?php
/**
* 数组作为配置文件实例
* edit bbs.it-home.org
*/
$catid = 1;
//返回该数组
$var_array = require('category_' . $catid . '.php');
//print_r($var_array);
//把数组转化为变量
extract($var_array, EXTR_PREFIX_SAME, "new");
//现实变量的值
echo $catid;
echo $new_catid;
echo $module;
echo $catname;
?>
ログイン後にコピー

category_1.php文件:

<?php
return array
(
  'catid' => '10',
  'module' => 'lightPHP',
  'type' => '1',
  'modelid' => '0',
  'catname' => '网站介绍',
  'description' => '',
);
?>
ログイン後にコピー

以上代码,用到了extract函数,下面介绍下其用法。 PHP extract 定义和用法 PHP extract() 函数从数组中把变量导入到当前的符号表中。 对于数组中的每个元素,键名用于变量名,键值用于变量值。 第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。 本函数返回成功设置的变量数目。 语法 extract(array,extract_rules,prefix) 例子:

<?php
$a = 'Original';
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>
ログイン後にコピー

输出: $a = Cat; $b = Dog; $c = Horse 例子2 数组键名转换成变量并输出:

<?php
//假定 $var_array 是 wddx_deserialize 返回的数组
$size = "large";
$var_array = array("color" => "blue",
"size" => "medium",
"shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo "$color, $size, $shape, $wddx_sizen";
?>
ログイン後にコピー

输出: blue, large, sphere, medium $size 没有被覆盖,因为指定了 EXTR_PREFIX_SAME,这使得 $wddx_size 被建立。 如果指定了 EXTR_SKIP,则 $wddx_size 也不会被建立。 EXTR_OVERWRITE 将使 $size 的值为“medium”, EXTR_PREFIX_ALL 将建立新变量 $wddx_color,$wddx_size 和 $wddx_shape。



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート