php – 如何在不使用foreach构造的情况下组合数组值和单独的常量
发布时间:2020-12-13 15:57:43 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试找到一种更简单的方法来从现有数组和值创建新数组.我想优化的两个例程在构造上类似.第一个形式是: $i = 0;$new_array = array();foreach ($my_array as $value) { $new_array[$i][0] = $constant; // defined previously and unchanging $new_arr
我正在尝试找到一种更简单的方法来从现有数组和值创建新数组.我想优化的两个例程在构造上类似.第一个形式是:
$i = 0; $new_array = array(); foreach ($my_array as $value) { $new_array[$i][0] = $constant; // defined previously and unchanging $new_array[$i][1] = $value; // different for each index of $my_array $i++; } 第二个形式的每个常数不是一个而是两个不同的值;注意$value在索引中的$key之前出现: $i = 0; $new_array = array(); foreach ($my_array as $key => $value) { $new_array[$i][0] = $constant; // defined previously and unchanging $new_array[$i][1] = $value; // different for each index of $my_array $new_array[$i][2] = $key; // different for each index of $my_array $i++; } 有没有办法使用PHP的数组运算符,使用更短,更有效的例程来优化这些过程? (当然,有很多,我找不到一个似乎符合条例草案.) 解决方法
我相信Wouter Thielen关于其他解决方案的建议实际上对我来说是最好的答案.
对于我提供的第一个案例: $new_array = array(); // $my_array is numeric,so $key will be index count: foreach ($my_array as $key => $value) { $new_array[$key] = array($constant,$value); }; 对于我提供的第二个案例: // $my_array is associative,so $key will initially be a text index (or similar): $new_array = array(); foreach ($my_array as $key => $value) { $new_array[$key] = array($constant,$value,$key); }; // This converts the indexes to consecutive integers starting with 0: $new_array = array_values($new_array); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |