我正在开发一个模块,在这个模块中,我将字符串存储在一个用逗号(,)分隔的列中,我将字符串拆分成一个数组,并将该数组添加到dropdown中,但当我使用多列执行此操作时,它不会在下拉列表中对数组进行排序
以下是代码
$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);
}发布于 2019-09-20 15:11:44
<?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-30 18:23:50
到目前为止,我找到了一个对我有效的解决方案
$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-20 15:06:24
您必须提到orderby ASC或DESC
orderBy('created_at', 'asc')或orderBy('created_at', 'asc')
https://stackoverflow.com/questions/58023270
复制相似问题