可以取到的,只要命名不同就可以,例子如下:
$array = array('a' => array('a1' => 1, 'a2' => 2),
'b' => array('b1' => 3, 'b2' => 4)
);
foreach ($array as $key => $value) {
foreach ($value as $k => $v) {
echo "\$array[{$key}][{$k}] = {$v}<br>";
}
}
输出结果是:
$array[a][a1] = 1
$array[a][a2] = 2
$array[b][b1] = 3
$array[b][b2] = 4
我觉得,其实从参数的注释说明文字大致可以看出代码所要达到的功能:
取得get参数
@params String $key 参数名,为空时,返回整个$_GET数组,
@params String $default 默认值 当指定的参数的值为假(false,null,空值,0)时,使用此值作为返回
@params String $callback 回调函数,对返回值进行处理
@return Mixed
从代码来看,首先,类构造器会初始化 $get 属性成员,而 get 函数,则通过传递的参数来获取 $get 属性成员中的数据、或者返回缺省的数值、或者进行自定义回调函数处理后再返回数据。
需要准备的材料分别是:电脑、php编辑器、浏览器。
php中已知数组键值取键名的步骤如下:
1、首先,打开php编辑器,新建php文件,例如:indexphp。
2、在indexphp中,输入代码:
$a = ['123' => 'test', '57' => 'world', 'abg' => 'php'];
$b = array_flip($a);
echo $b['php'];
3、浏览器运行indexphp页面,此时就可以了。
<php
$source = array('a' => '111', 'b' => '222', 'c' => '33333', 'd' => '4444');
$needKey = array('a', 'c');
$needKey = array_flip($needKey); //调转键值使之可比。array('a'=>0, 'c'=>1)
$array = array_intersect_ukey($source,$needKey,'key_compare_func'); //array_intersect_ukey用回调函数比较键名来计算数组的交集
var_dump($array);
function key_compare_func($key1, $key2){
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
//End_php
array_keys、array_values两个函数专门执行这一的功能~~~
例如:
<php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
>
会输出:
Array
(
[0] => XL
[1] => gold
)
再例如:
<php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
>
以上例程会输出:
Array
(
[0] => 0
[1] => color
)
Array
(
[0] => 0
[1] => 3
[2] => 4
)
Array
(
[0] => color
[1] => size
)
获取一个数组中重复的元素 代码如下:
a 方法一:
代码如下function array_repeat($arr) { if(!is_array($arr)) return $arr; $arr = array_count_values($arr); $newArr = array(); foreach($arr as $k=>$v) { if($v> ) array_push($newArr $k); } return $newArr; }
b 方法二:
代码如下function array_repeat($arr) { if(!is_array($arr)) return $arr; $arr = array_unique($arr); $arr = array_diff_key($arr $arr ); return array_unique($arr ); }
测试方法
代码如下$arr = array( apple blue red banana pear apple blue color color ); print_r(array_repeat($arr));
结果: Array ( [ ] => apple [ ] => blue [ ] => color )
后来代一些删除数组重复元素的方法
array_keys函数来删除数组重复元素
/
代码如下$a=array("red" "green" "blue" "yellow"); count($a); //得到 unset($a[ ]); //删除第二个元素 count($a); //得到 echo $a[ ]; //数组中仅有三个元素 本想得到最后一个元素 但却得到blue echo $a[ ]; //无值
//array array_splice (array input int offset [ int length [ array replacement]]) //array_splice()其实是替换数组元素的函数 但如果不加替换值就简单的删除元素 下面是array_splice()的用法: $b=array("red" "green" "blue" "yellow"); array_splice($a );
//下面看一个比较全面的删除重复值并且删除指定的数组元素
代码如下$array = array( => " it net" => "菠萝" => " it net" => "香蕉" => "芭乐" => " it net" => " it net");
$search_keys = array_keys($array " it net");
foreach($search_keys as $key) { unset($array [$key]); }
print_r($array );
/ 得到结果 array ( [ ] => 菠萝 [ ] => 芭乐 [ ] => 香蕉 ) /
lishixinzhi/Article/program/PHP/201311/20922
$arr = array('name'=>1111,'pass'=>222222);
$key = 'name';
if(array_key_exists($key, $arr))echo $arr[$key];
以上就是关于php中为什么多个foreach循环中获取不到上一个foreach循环的key值全部的内容,包括:php中为什么多个foreach循环中获取不到上一个foreach循环的key值、php 程序段中 $this -> get[$key])中的get[$key])这样表达是什么意思,不明,类代码截取、php中已知数组键值怎么取得键名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)