[英]Output Array based on Criteria
我有一个多维数组。 下面的代码输出一整列。
<?php
for ( $row = 1; $row <$arrCSV; $row++ ) {
echo ''.$arrCSV[$row]['6'].'';
}
?>
我将如何放置“ IF”语句以仅显示“ $ arrCSV [$ row] ['4']”中具有“ CAT”的行
我不确定这是否是IF语句?
for ($row = 1; $row < $arrCSV; $row++) {
if (strpos($arrCSV[$row]['4'], 'CAT') !== false) {
echo $arrCSV[$row]['6'];
}
}
这是你想要的? 不知道我是否理解这个问题。
您还说$row < $arrCSV
但是$arrCSV
是一个数组对象,而不是整数。 您确定所提供的代码可以像您所说的那样工作吗?
foreach ($arrCSV as $row) {
if (strpos($row[4], 'CAT') !== false) {
print_r($row);
}
}
strpos()
是确定特定子字符串是否存在的最佳函数(根据下面的注释进行编辑 ):
$foundOneMatchingRow = FALSE;
foreach ($arrCSV as $row) {
if (strpos($row['4'], 'CAT') !== FALSE) {
$foundOneMatchingRow = TRUE;
echo $row['6'];
}
}
if (!$foundOneMatchingRow) {
echo "I couldn't find a matching row!":
}
我已将for
循环更改for
foreach
因为对于此特定任务,它不那么混乱,而且可读性更高。
这是代码尝试此。
$result = array();
foreach($arrCSV as $key => $value) {
if($value['4'] == 'CAT') {
$result[] = $value;
}
}
print_r($result);
foreach(array_filter($arrCSV,function($row) { return (strpos($row[4],'CAT') !== FALSE); } ) as $row) {
echo ''.$row['6'].'';
}
假设检查$ arrCSV中的所有条目
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.