php数组遍历把其中一个键重组成新数组
时间: 2023-02-17 11:39:48 浏览: 73
可以使用PHP的array_column()函数来重组一个数组。它接受三个参数,第一个是原始数组,第二个是需要重组的键名,第三个是可选的索引键名。如果提供了索引键名,则新数组将其作为索引。
例如:
```
$original_array = array(
array('id' => 1, 'name' => 'John Doe'),
array('id' => 2, 'name' => 'Jane Smith'),
array('id' => 3, 'name' => 'Bob Johnson')
);
$new_array = array_column($original_array, 'name', 'id');
print_r($new_array);
```
输出:
```
Array
(
[1] => John Doe
[2] => Jane Smith
[3] => Bob Johnson
)
```
上面的例子中,我们使用了原始数组的'name'键重组了一个新数组,并使用'id'键作为索引。
相关问题
shell 多个字符串数组遍历并拼接成新的字符串数组
在 Shell 中,可以使用循环遍历多个字符串数组,并将它们拼接成一个新的字符串数组。以下是一个示例代码:
```bash
# 定义两个字符串数组
array1=("hello" "world")
array2=("how" "are" "you")
# 定义一个空的字符串数组
result=()
# 循环遍历数组并拼接
for i in "${array1[@]}" "${array2[@]}"; do
result+=("$i")
done
# 输出结果
echo "${result[@]}"
```
输出结果为:`hello world how are you`
在循环中,将每个元素拼接到空的字符串数组 `result` 中,最后输出 `result` 数组即可。注意在输出数组时需要使用 `${result[@]}`,这样才能正确输出数组中所有元素。
java对list对象数组过滤其中一个属性转成新的list数组
可以使用Java 8中的Stream API来实现这个过滤转换操作。以下是一个示例代码:
假设有一个包含Person对象的List,每个Person对象都有一个name属性和age属性。现在我们要将所有年龄大于等于18岁的Person对象的name属性转换成一个新的List<String>对象:
```
List<Person> persons = new ArrayList<>();
// 假设persons中已经添加了多个Person对象
List<String> names = persons.stream()
.filter(p -> p.getAge() >= 18) // 过滤出年龄大于等于18岁的Person对象
.map(Person::getName) // 转换为name属性
.collect(Collectors.toList()); // 收集到一个新的List对象中
// 输出新的List对象
System.out.println(names);
```
上述代码运行结果为:包含所有年龄大于等于18岁的Person对象的name属性的List对象。