以下是一个例子:
for($i=1; $i < 10; $i++){
$marray[] = array($name, $email, $password); // Lets just say for now, there is real
// data for each online being input
}
foreach ($marray as $e){
echo "Name: ". $e[0];
echo "Email: ". $e[1];
}
我忘了提及: 这个脚本在我的服务器上运行良好。但是,当我在调用“Foreach”之前包含array_unique时,它不起作用,没有错误消息或任何其他内容。
答案 0 :(得分:1)
对我来说很好:
$name = "Phill";
$email = "me@me.com";
$password = "p@ssw0rd";
for($i=1; $i < 10; $i++){
$marray[] = array($name, $email, $password);
}
foreach (array_unique($marray) as $e){
echo "Name: ". $e[0]."<br />";
echo "Email: ". $e[1]."<br />";
}
返回:
Name: Phill
Email: me@me.com
您使用的是哪个版本的PHP?
答案 1 :(得分:0)
我会检查两个服务器都安装了哪个版本的PHP。你可以用phpinfo()做到这一点。我想不出它会在一台服务器上运行的任何其他原因,而不是另一台服务器。 “你不承认?”是什么意思?你收到任何错误信息吗?如果是这样,他们是什么?
答案 2 :(得分:0)
韦尔普,我自己想出了这个。我只是将初始文本设置为“爆炸”的问题,而不是让它更加混乱。
答案 3 :(得分:0)
正如在php文档中读到的那样:
注意:请注意,array_unique()不适用于多维数组。
(丑陋)修复“电子邮件+姓氏+电子邮件”是关键:
$uniqueUsers = array();
foreach ($users as $user) {
$uniqueUsers[$user['name'] . $user['lastname'] . $user['email']] = $user;
}
我认为最好直接(如果可能)构建没有重复的数组。
答案 4 :(得分:0)
试试这个:
$mstorage = array();
foreach ($marray as $e){
if(in_array($email, $mstorage) === FALSE) {
echo "Name: ". $e[0]."<br />";
echo "Email: ". $e[1]."<br />";
array_push($mstorage, $email);
}
}