PHP - 将一个字符串与数组中的所有内容进行比较,并且只回显一次(唯一)
PHP - Compare a string to all in array and only echo once (unique)
我正在尝试从一个文件中创建一个目录列表。但我只希望列表包含唯一条目,即 - 仅回显一次没有重复项。
示例:
从这个日志文件:
inactive : [2007-04-01 08:42:21] "home/club/member" 210.00 "r-200"
inactive : [2008-08-01 05:02:20] "home/club/staff" 25.00 "r-200"
active : [2010-08-11 10:12:20] "home/club/member" 210.00 "r-500"
inactive : [2010-01-02 11:12:33] "home/premier/member" 250.00 "r-200"
active : [2013-03-04 10:02:30] "home/premier/member" 250.00 "r-800"
active : [2011-09-14 15:02:55] "home/premier/member" 250.00 "r-100"
我想回显目录列表但没有重复:
home/club/staff
home/club/member
home/premier/member
我使用 foreach 循环遍历数组,但我不知道如何将每个值与数组中的每个项目进行比较,然后只输出相同的项目一次。
foreach($listofDir as $value)
{
echo "<p>" . $value . "</p>";
}
这应该适合你:
只需将您的文件放入数组中,然后从每一行中获取路径。
<?php
$lines = file("test.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$directorys = array_unique(array_map(function($v){
preg_match("/.*? : \[.*?\] \"(.*?)\"/", $v, $m);
return $m[1];
}, $lines));
print_r($directorys);
?>
输出:
Array
(
[0] => home/club/member
[1] => home/club/staff
[3] => home/premier/member
)
我正在尝试从一个文件中创建一个目录列表。但我只希望列表包含唯一条目,即 - 仅回显一次没有重复项。
示例: 从这个日志文件:
inactive : [2007-04-01 08:42:21] "home/club/member" 210.00 "r-200"
inactive : [2008-08-01 05:02:20] "home/club/staff" 25.00 "r-200"
active : [2010-08-11 10:12:20] "home/club/member" 210.00 "r-500"
inactive : [2010-01-02 11:12:33] "home/premier/member" 250.00 "r-200"
active : [2013-03-04 10:02:30] "home/premier/member" 250.00 "r-800"
active : [2011-09-14 15:02:55] "home/premier/member" 250.00 "r-100"
我想回显目录列表但没有重复:
home/club/staff
home/club/member
home/premier/member
我使用 foreach 循环遍历数组,但我不知道如何将每个值与数组中的每个项目进行比较,然后只输出相同的项目一次。
foreach($listofDir as $value)
{
echo "<p>" . $value . "</p>";
}
这应该适合你:
只需将您的文件放入数组中,然后从每一行中获取路径。
<?php
$lines = file("test.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$directorys = array_unique(array_map(function($v){
preg_match("/.*? : \[.*?\] \"(.*?)\"/", $v, $m);
return $m[1];
}, $lines));
print_r($directorys);
?>
输出:
Array
(
[0] => home/club/member
[1] => home/club/staff
[3] => home/premier/member
)