加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读