0

我正在开发一个模块,其中我将字符串存储在以逗号(,)分隔的列中,并且我已将字符串拆分为一个数组并将该数组添加到下拉列表中,但是当我对多个列执行此操作时,它没有排序下拉列表中的数组

这是代码

   $pp=DB::table('gcp_projects')->where('niche','!=',' ')->where('niche','!=','')->where('niche','!=',null)->orderBy('niche')->pluck('niche');
$testing=explode(",",$pp);


$arr=array();
$tttt=array();
for($i=0;$i<=count($pp);$i++)
{
 $arr= explode(",",$pp);
 $temp = preg_replace("/[^a-zA-Z 0-9]+/", "", $arr);
$tttt=array_unique($temp);
sort($tttt);

}
4

3 回答 3

0

到目前为止,我发现这个解决方案对我有用

$pp=DB::table('gcp_projects')->whereNotNull('niche')->orderBy('niche')->pluck('niche')->toArray();


$aa=implode(',',$pp);

$myArray = explode(',', $aa);
$im=implode(' ',$myArray);
$ex=explode(' ',$im);
$tttt=array_unique($ex);
 sort($tttt);
 $str = preg_replace("/[^a-zA-Z 0-9]+/", "", $tttt);
  $result = array_filter($str); 
于 2019-09-30T10:23:49.650 回答
0
<?php 

// Use preg_split() function 
$string = "123,456,78,000"; 
$str_arr = preg_split ("/\,/", $string); 
print_r($str_arr); 

// use of explode 
$string = "123,46,78,000"; 
$str_arr = explode (",", $string); 
print_r($str_arr); 
?> 

你可以这样做并使用排序选项

$values = array ("zercggj.co.uk", "lkjhg.org.au", "qqxze.org.au",
                 "bfhgj.co.uk", "sdfgh.org.uk");

echo "<br>input:<br>";
foreach ($values as $host) echo "$host<br>";

// create a suitable structure
foreach ($values as $host)
{
    $split = explode('.', $host, 2);
    $printable[$split[1]][] = $split[0];
}

// sort by domains
asort ($printable);

// output
echo "<br>sorted:<br>";
foreach ($printable as $domain => $hosts)
{
    echo "domain: $domain<br>";

    // sort hosts within the current domain
    asort ($hosts);

    // display them
    foreach ($hosts as $host)
        echo "--- $host<br>";
}
于 2019-09-20T07:11:44.253 回答
-1

你必须提到orderby ASC OR DESC

orderBy('created_at', 'asc')或者orderBy('created_at', 'asc')

于 2019-09-20T07:06:24.013 回答