<?php /** 10 数组 compact extract in_array */ //compact() (紧凑的,简洁的) 将变量转换为数组,变量名为数组键名,变量值为数组的键值。 /*$webname = "博客"; $weburl = "bbs.blog.com"; $webcms = "cms.blog.com"; $lantian=array('webname', 'weburl', 'webcms'); $webs = compact($lantian);//Array ( [webname] => 博客 [weburl] => bbs.blog.com [webcms] => cms.blog.com ) print_r($webs);*/ //extract() (提取,选取) 将数组转化为变量,键名作为变量名,键值作为变量值 /*$lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com"", 'webcms'=>"cms.blog.com"); $strs=extract($lantian); var_dump($strs);//输出:4 echo $webname;//输出:博客*/ /*$lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com"); $strs=extract($lantian,EXTR_PREFIX_ALL,"lantian");//第二个参数是使得生成的变量都有前缀。第三个是前缀。 var_dump($strs);//输出:4 echo $lantian_weburl;//输出:bbs.blog.com*/ /*$webname="我的博客"; $lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com"); $strs=extract($lantian);//默认情况下,新生成的变量会覆盖之前的变量 echo $webname;//输出:博客*/ /*$webname="我的博客"; $lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com"); $strs=extract($lantian,EXTR_SKIP);//第二个参数的作用,如果之前有定义的变量,就不在生成新的变量了。 echo $webname;//输出:我的博客*/ /*$webname="我的博客"; $lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com"); $strs=extract($lantian,EXTR_IF_EXISTS);//第二个参数的作用。生成数组之前定义的一个变量。 echo $webname;//输出:博客*/ /*$webname="我的博客"; $lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com"); $strs=extract($lantian,EXTR_PREFIX_IF_EXISTS,'lan');//第二个参数的作用。假如有定义的变量,再去生成变量,新的加上前缀。两个都存在。之前没定义过的,就不生成了。 echo $webname;//输出:我的博客 echo $lan_webname;//输出:博客*/ /*$webname="我的博客"; $lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com",'蓝天'); $strs=extract($lantian,EXTR_PREFIX_INVALID,'lan');//第二个参数:当数组有数字索引时,自动加上前缀,其他的不加 echo $webname;//输出:博客 echo $lan_0;//输出:蓝天*/ /*$webname="我的博客"; $lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com",'蓝天'); $strs=extract($lantian,EXTR_PREFIX_SAME,'lan');//第二个参数:当生成的变量与之前定义的冲突时,后面生成的变量加上前缀。 echo $webname;//输出:我的博客 echo $lan_webname;//输出:博客 echo $weburl;//输出:bbs.blog.com*/ /*$webname="我的博客"; $lantian=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com",'蓝天'); $strs=extract($lantian,EXTR_REFS);//第二个参数:使得生成的变量具有引用赋值 echo $webcms;//输出:cms.blog.com $lantian['webcms']="蓝天CMS,欢迎你的加入"; echo $webcms;//输出:蓝天CMS,欢迎你的加入*/ //in_array() 判断元素是否在数组中,如果加参数TRUE。同事进行数组类型的判断 /*$lan_config=array('webname'=>'博客', 'weburl'=>"bbs.blog.com", 'webcms'=>"cms.blog.com",'蓝天'); $bool=in_array('博客',$lan_config); var_dump($bool);//输出:true*/