php - 如何从while循环创建逗号分隔列表?
问题描述
$personas = [
'Hermann' => [
'status' => '0',
'gender' => 'maskulin'
],
'Lida' => [
'status' => '1',
'gender' => 'feminin'
],
'Susi' => [
'status' => '0',
'gender' => 'feminin'
],
'Mara' => [
'status' => '0',
'gender' => 'feminin'
]
];
状态为 0 的角色
echo 'Personas with status 0: ';
while ($status = current($personas)) {
if ($status['status'] == '0') {
$status_list = key($personas);
echo $status_list;
}
next($personas);
}
结果是: 状态为 0 的角色:HermannSusiMara
预期: 状态为 0 的角色:Hermann、Susi、Mara
解决方案
为您提供一些不同的解决方案。
$statusZeroPersonae = [];
foreach($personas as $personaName => $persona) {
if ($persona['status'] === '0') {
$statusZeroPersonae[] = $personaName;
}
}
echo 'Personae with status 0: ' . implode(", ", $statusZeroPersonae);
推荐阅读
- ios - 更改 DefaultTabBarController 的选项卡时,Flutter Application 在 ios 上崩溃
- visual-studio - 如何在 WinForms 中使用相互事件来引用按钮名称?
- c# - 从静态类方法访问依赖注入的实体框架数据库
- javascript - 如何根据值更改条形图颜色
- node.js - 新反应应用程序窗口的反应启动问题[已解决]
- java - 假装返回数据
- typescript - TypeScript 强制转换以在现有属性之外添加额外的属性
- python-3.x - 如何使用 psutil 捕获进程的峰值内存和 CPU 利用率
- c# - 使用动态继承来允许用户创建具有固定名称的任何方法签名?
- angular - 使用 Karma/Jasmin 对 Angular 中的方法进行单元测试