PHP的数组可谓神奇的编程物种, 搞了这么多年编程, php的数组可真是方便至极。但开发过程中会有把数组写死在程序中, 而非数据库里的情况。那么大规模的数组就没办法用sql或者redis语句来操作了。
实际业务场景中, 遇到的需求情况特别多, 这里只是举例说明。比方我们要把数组当中涉及key和value相同的元素去掉, 并且返回源代码
$a = array(
'一样的' => '一样的',
'不一样的' => '不二样的',
);
$b = [];
foreach($a as $k => $v) {
if($k == $v) {
continue;
}
$b[$k] = $v;
}
echo "array(\n";
print_src($b);
function print_src($arr, $indent = ' ') {
foreach($arr as $k => $v) {
if(is_array($v)) {
echo sprintf("%s\"%s\" => array(\n", $indent, $k);
print_src($v, $indent . ' ');
echo $indent . "),\n";
} else {
echo sprintf("%s\"%s\" => '%s',\n", $indent, $k, $v);
}
}
}
echo ");"; 这样打印出来的效果就是你要的新数组源码。