php - Symfony 4 - 带有多数组的 in_array
问题描述
我有 :
AdminValidateurController.php on line 43:
array:2 [▼
0 => Validateur^ {#986 ▼
-id: 5
-ordre: 1
-validateur: User^ {#773 ▶}
}
1 => Validateur^ {#988 ▼
-id: 6
-ordre: 2
-validateur: User^ {#1015 ▶}
}
]
验证器包含一个用户。我想测试某个用户是否是转储(验证器板)的一部分。
为此,我有一个 Validator 对象,我可以使用 $ validateur->getValidateur () 来恢复用户。我想测试它是否已经是 validateurs ($ validateurs) 的一部分。
为此,我做了:
if (in_array($validateur->getValidateur(), $validateurs)) {
dd("oui");
}
但它不起作用:s
解决方案
如果您的数组来自数据库,您可以使用查询检查用户是否是验证者。例如:
$exists = $validateurRepository->findOneBy(['validateur' => $validateur->getValidateur());
// Or find($validateur->getId()) if it's already persisted
if (null != $exists) {
//...
}
但是,如果您已经将结果作为数组,您可以将其重新映射到User
数组并进行检查:
$users = array_map(function($e) { return $e->getValidateur(); }, $validateurs);
if (in_array($validateur->getValidateur(), $users)) {
dd("oui");
}
推荐阅读
- android - 如何使用 Cloud Firestore 实现 HIPAA 合规性?
- r - 将 boot::inv.logit() 应用于 R 中的栅格
- c++ - 从 exe 中的资源加载 .BIN 文件
- node.js - socket.emit() 触发两次 - socket.io
- bash - In shell script, how do I use the contents of a file as a parameter
- mysql - while doing alter on a table to add column we are getting timing out error via flyway
- javascript - Periodic auto update "html-div" and database in django
- for-loop - 是否不鼓励在 Go 中使用单行 for 循环或 if 语句?
- batch-file - 如何在 Jenkins 中运行 n 次工作?
- python - 如何使用 matplotlib 从列表中绘制多个点?