您好,我有未知名称输入的请求,例如 Game234_3v3player_3 等。由于所有输入都可以为空且游戏编号未知,我这样验证:
$request->validate([
'*_2v2player_*' => [
'exists:users,name',
'nullable',
],
'*_2v2enemyPlayer_*' => [
'exists:enemy_players_list,nickname',
'nullable',
],
'*_3v3player_*' => [
'exists:users,name',
'nullable',
],
'*_3v3enemyPlayer_*' => [
'exists:enemy_players_list,nickname',
'nullable',
在验证中,这是有效的。但是,我想将请求的一部分存储在变量中。我试过的是:
$data = $request->only([
'*_1v1enemyPlayer_*',
'*.2v2enemyPlayer.*',
'*3v3enemyPlayer*',
]);
等等... 然而,在这个例子中,它以各种方式返回空数组/./*_。用点,破折号等,等等。 然后我如何才能将变量只包含几个未知名称的请求属性? 谢谢。
答案 0 :(得分:1)
您可以使用 array_keys($request->all())
了解您的请求键。
最后,您可以决定要查找的密钥。
答案 1 :(得分:0)
好的,换了一种方式。
$enemyPlayers = [];
$requestArray = array_keys($request->all());
foreach($requestArray as $player)
{
if (str_contains($player, 'enemyPlayer')) {
array_push($enemyPlayers, $player);
}
}