添加字符串的合并数组
Merged arrays with added string
这道题应该很简单,因为这显然只是一道语法错误的题。我只需要合并两个数组,同时向每个数组值添加一些额外的字符...
这是我的尝试:
$time = array_merge($hour, ':', $minute, ':00');
...这是行不通的。输出应该是例如:
20:00:00
22:00:00
24:00:00
等等
我可以看到两种组合两个数组的可能性。
选项 1 是组合每个数组中的相应项目...
$hour = [20,22,24];
$minute = [0,10,20];
$out = [];
foreach ( $hour as $key => $hr ) {
$out[] = $hr. ':'. str_pad( $minute[$key], 2, '0', STR_PAD_LEFT). ':00';
}
print_r($out);
给出...
Array
(
[0] => 20:00:00
[1] => 22:10:00
[2] => 24:20:00
)
选项 2 是结合所有可能性...
$out = [];
foreach ( $hour as $hr ) {
foreach ( $minute as $mnt ){
$out[] = $hr. ':'. str_pad( $mnt, 2, '0', STR_PAD_LEFT). ':00';
}
}
print_r($out);
给出...
Array
(
[0] => 20:00:00
[1] => 20:10:00
[2] => 20:20:00
[3] => 22:00:00
[4] => 22:10:00
[5] => 22:20:00
[6] => 24:00:00
[7] => 24:10:00
[8] => 24:20:00
)
因为它们都是整数,所以我在分钟上使用 str_pad()
以确保它始终是 2 位数字。如果需要,您可以对时间做同样的事情。
array_merge 将仅合并 n 个数组类型而不是字符串。您可能需要首先在每个数组中添加额外的字符作为项目,然后执行 array_merge.
例如
array_push($hour, ":");
array_push($minute, ":00");
$time = array_merge($hour, $minute);
但是,输出表明您正在寻找 array_map 而不是 array_merge。
$time = array_map(function($a, $b) { return $a . ':' . $b . ':00'; }, $hour, $minute));
这道题应该很简单,因为这显然只是一道语法错误的题。我只需要合并两个数组,同时向每个数组值添加一些额外的字符...
这是我的尝试:
$time = array_merge($hour, ':', $minute, ':00');
...这是行不通的。输出应该是例如: 20:00:00 22:00:00 24:00:00 等等
我可以看到两种组合两个数组的可能性。
选项 1 是组合每个数组中的相应项目...
$hour = [20,22,24];
$minute = [0,10,20];
$out = [];
foreach ( $hour as $key => $hr ) {
$out[] = $hr. ':'. str_pad( $minute[$key], 2, '0', STR_PAD_LEFT). ':00';
}
print_r($out);
给出...
Array
(
[0] => 20:00:00
[1] => 22:10:00
[2] => 24:20:00
)
选项 2 是结合所有可能性...
$out = [];
foreach ( $hour as $hr ) {
foreach ( $minute as $mnt ){
$out[] = $hr. ':'. str_pad( $mnt, 2, '0', STR_PAD_LEFT). ':00';
}
}
print_r($out);
给出...
Array
(
[0] => 20:00:00
[1] => 20:10:00
[2] => 20:20:00
[3] => 22:00:00
[4] => 22:10:00
[5] => 22:20:00
[6] => 24:00:00
[7] => 24:10:00
[8] => 24:20:00
)
因为它们都是整数,所以我在分钟上使用 str_pad()
以确保它始终是 2 位数字。如果需要,您可以对时间做同样的事情。
array_merge 将仅合并 n 个数组类型而不是字符串。您可能需要首先在每个数组中添加额外的字符作为项目,然后执行 array_merge.
例如
array_push($hour, ":");
array_push($minute, ":00");
$time = array_merge($hour, $minute);
但是,输出表明您正在寻找 array_map 而不是 array_merge。
$time = array_map(function($a, $b) { return $a . ':' . $b . ':00'; }, $hour, $minute));