【问题标题】:Array Unique not displaying some array after executionArray Unique 执行后不显示某些数组
【发布时间】:2015-07-13 19:57:02
【问题描述】:

我正在使用 array_unique() 删除重复值,但是当值来自字符串然后使用爆炸转换并且值无法正确显示时,它会给我一个错误

我正在使用http://phptester.net/ 进行测试

$email = 'general@t.com,info@t.com,info@t.com,jaa@t.com';

$emailList = array_unique(array_filter(array_map('trim',explode(',',$email))));

for($i = 0; $i < count($emailList); $i++){
    echo $emailList[$i];
}

【问题讨论】:

  • 要么使用foreach() 循环遍历数组条目,要么使用array_values() 重新索引它们....因为您已经使用2 的键删除了条目,留下密钥013
  • @MarkBaker 我应该按什么顺序做?
  • 在你完成 array_unique() 之后,实际上从数组中删除了元素 #2:$emailList = array_values(array_unique(array_filter(array_map('trim',explode(',',$email)))));
  • @MarkBaker make than into an answer

标签: php arrays unique


【解决方案1】:

我会这样做:

$email = 'general@t.com,info@t.com,info@t.com,jaa@t.com';

$emailList = (array_map('trim',explode(',',$email)));

$result = array_unique($emailList);
var_dump($result);

如果你想打印数组值,使用 for 循环,你可以这样做:

$email = 'general@t.com,info@t.com,info@t.com,jaa@t.com';

$emailList = (array_map('trim',explode(',',$email)));

$result = array_unique($emailList);

for($i = 0; $i < count($emailList); $i++){
    if( $emailList[$i]!=null)
       echo $emailList[$i];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    相关资源
    最近更新 更多