Php 按值获取$\u POST变量的名称
如果我有几个帖子的结果是这样的:Php 按值获取$\u POST变量的名称,php,arrays,post,Php,Arrays,Post,如果我有几个帖子的结果是这样的: $_POST["ResponseA"] = 1, $_POST["ResponseB"] = 1, $_POST["ResponseC"] = 2, $_POST["ResponseD"] = 3, $_POST["ResponseE"] = 1, etc. 如何执行基于值获取数组的循环?因此,如果我检查值为1,则得到ResponseA、ResponseB、ResponseE? <?php $results = array_keys($_POS
$_POST["ResponseA"] = 1, $_POST["ResponseB"] = 1, $_POST["ResponseC"] = 2, $_POST["ResponseD"] = 3, $_POST["ResponseE"] = 1, etc.
如何执行基于值获取数组的循环?因此,如果我检查值为1,则得到ResponseA、ResponseB、ResponseE?
<?php
$results = array_keys($_POST, 1);
var_dump($results);
?>
简单构建循环
<?php
$fields = array('ResponseA','ResponseB','ResponseC','ResponseD','ResponseE')
function searchValue(array $fields, $value) {
$out = array();
foreach($fields as $name) {
if(isset($_POST[$name]) && $_POST[$name] == $value) $out[]=$name;
}
return $out;
}
var_dump(searchValue($fields,1));
简单构建循环
<?php
$fields = array('ResponseA','ResponseB','ResponseC','ResponseD','ResponseE')
function searchValue(array $fields, $value) {
$out = array();
foreach($fields as $name) {
if(isset($_POST[$name]) && $_POST[$name] == $value) $out[]=$name;
}
return $out;
}
var_dump(searchValue($fields,1));
像这样使用数组翻转()
$flipped = array_flip($_POST);
echo $flipped['1']; // ResponseA
但这样做会遇到问题,因为您的值不是唯一的使用array\u flip()
如下所示
$flipped = array_flip($_POST);
echo $flipped['1']; // ResponseA
但是这样做会有问题,因为您的值不是唯一的您可以循环浏览$\u帖子:
foreach ($_POST as $key => $value) {
if ($value == 1) {
// $key will equal the value ResponseA if $_POST["ResponseA"] = 1
}
}
您可以循环浏览$\u帖子:
foreach ($_POST as $key => $value) {
if ($value == 1) {
// $key will equal the value ResponseA if $_POST["ResponseA"] = 1
}
}