搜索和打印多维数组
问题描述:
想知道我是否可以在我需要做的事情上有一些方向和清晰度。我正在输入(文本输入)并搜索可以转换为数组的CSV文件。搜索和打印多维数组
我想通了与此搜索一下:
$keys = array_keys(array_column($csv, 0), $SearchThis);
哪里$csv
是我的数组(多维)和$SearchThis
是要搜索的输入。
我的问题是$keys
使阵列与行的数据是在找到的值。
我希望能够显示与这些行的表出主阵列$csv
的。 (每行都有一个将在桌面上显示的数据列表。)
我对PHP相当陌生,所以我希望这是一个简单的解决方法?
任何帮助将不胜感激。特别是从背后阵列等
答
那么如果你的代码已经返回正确的行,那么所有你需要做的是过滤数组只包含那些行。例如:
$keys = array_keys(array_column($csv, 0), $SearchThis); // Your original code
$new_csv = []; // [] is shorthand for an empty array.
foreach($keys as $index) { // Iterate over the keys
$new_csv[] = $csv[$index]; // Copy the matching rows to our new array
}
$new_csv
现在只包含原始的匹配行。
答
假设$csv
取行中的逻辑是一个数组,它是类型
[
[ cell1, cell2, ... ],
...
]
然后,你可能会想的array_filter
在CSV的每一行与一个返回一个回调真正以包括划船,假以排除该行:
$searchStr = '123';
array_filter($csv, function($row) use (&$searchStr) {
return $row[0] == $searchStr;
});
这正是我所需要的!非常感谢你!!! –