我想查看$ _POST中是否包含字符串的任何键。该字符串不是完整键,只是键的一部分。 (即搜索字符串=“delRowID”,$ _POST key =“delRowID_16”)。我曾尝试使用array_keys($ _ POST,“delRowID”),但它从未返回任何内容。
CODE
print_r($_POST);
print_r(array_keys($_POST,"delRowID"));
RETURNS
Array ( [delRowID] => 29 [qAction] => [elmUpdateId] => [elmTtl] => [elmDesc] => [elmStr] => ) Array ( )
答案 0 :(得分:1)
使用array_keys()
进行循环,并使用strpos()
foreach (array_keys($_POST) as $key) {
if (strpos($key, 'delRowId') === 0) {
echo $key." found!";
}
}
答案 1 :(得分:1)
如果这是由表单发送的,请考虑将元素命名为数组元素。例如,
<input type="checkbox" name="delRowID[16]" />
<input type="checkbox" name="delRowID[17]" />
将作为名为$_POST['delRowID']
的数组出现,其中包含每个有效输入的元素。
但是,这是一个人为的例子,可以更好地与其他输入类型配合使用。
对于复选框,最好这样做,这会创建一个数组,其中包含每个成功复选框的值,您可以轻松地循环:
<input type="checkbox" name="delRowID[]" value="16" />
<input type="checkbox" name="delRowID[]" value="17" />
答案 2 :(得分:0)
循环通过array_keys($_POST)
提供给您的密钥。每个字符串匹配。
另请注意,array_keys($_POST,"delRowID")
会搜索与“delRowID”值相关联的键。
答案 3 :(得分:0)
因为您正在搜索部分文本,所以您可以遍历它:
foreach($_POST as $key => $value)
{
if (strpos($key, 'delRowID') !== false)
{
echo $key;
break;
}
}
答案 4 :(得分:0)
另一种方式(扩展mads答案):
if( getKey( 'delRowId', $_POST ) ){
// delRow?
}
function getKey($stringToFind, $array) {
foreach ($_POST as $key => $val) {
if (strpos($stringToFind, $key) !== false) {
return $val;
}
}
return false;
}