Php 只选择一个字母
下面的脚本显示了我所有店铺的列表,并按字母顺序排序。现在我想把,例如$_GET['letter']==“A”;它将只显示以字母A开头的商店 我该怎么做Php 只选择一个字母,php,arrays,Php,Arrays,下面的脚本显示了我所有店铺的列表,并按字母顺序排序。现在我想把,例如$_GET['letter']==“A”;它将只显示以字母A开头的商店 我该怎么做 $stores = get_terms(APP_TAX_STORE, array('hide_empty' => 0, 'parent' => 0)); $list = ''; $groups = array(); // get ids of all hidden stores $hidden_stores_query = "SE
$stores = get_terms(APP_TAX_STORE, array('hide_empty' => 0, 'parent' => 0));
$list = '';
$groups = array();
// get ids of all hidden stores
$hidden_stores_query = "SELECT ". $wpdb->prefix ."clpr_storesmeta.stores_id FROM ". $wpdb->prefix ."clpr_storesmeta WHERE ". $wpdb->prefix ."clpr_storesmeta.meta_key = 'clpr_store_active' AND ". $wpdb->prefix ."clpr_storesmeta.meta_value = 'no'";
$hidden_stores = $wpdb->get_col($hidden_stores_query);
if ($stores && is_array($stores) ) {
foreach($stores as $store)
$groups[strtoupper($store->name[0])][] = $store;
if (!empty($groups)) :
foreach($groups as $letter => $stores) {
$old_list = $list;
$letter_items = false;
$list .= "\n\t" . '<h2 class="stores" id="' . apply_filters( 'the_title', $letter ) . '">' . apply_filters( 'the_title', $letter ) . '</h2>';
$list .= "\n\t" . '<ul class="stores">';
foreach($stores as $store) {
if (!in_array($store->term_id, $hidden_stores)) {
$list .= "\n\t\t" . '<li><a href="' . get_term_link($store, APP_TAX_STORE) . '"><img src="/images/korting-winkels/'. ereg_replace("[^A-Za-z0-9]", "", strtolower(apply_filters('the_title', $store->name))).'.png" width="133" class="afbeelding" height="68" alt="' . apply_filters('the_title', $store->name). '" title="' . apply_filters('the_title', $store->name). '" /></a><br /></li>';
$letter_items = true;
}
}
$list .= "\n\t" . '</ul>';
if(!$letter_items)
$list = $old_list;
}
endif;
} else {
$list .= "\n\t" . '<p>' . __('Sorry, but no stores were found.', 'appthemes') .'</p>';
}
$stores=get_terms(APP_TAX_STORE,数组('hide_empty'=>0,'parent'=>0));
$list='';
$groups=array();
//获取所有隐藏存储的ID
$hidden\u stores\u query=“选择”$wpdb->prefix.“clpr\u storesmeta.stores\u id FROM”$wpdb->前缀“clpr\u storesmeta WHERE”$wpdb->prefix.“clpr\u storesmeta.meta\u key='clpr\u store\u active'和”$wpdb->prefix.“clpr\u storesmeta.meta\u value='no';
$hidden\u stores=$wpdb->get\u col($hidden\u stores\u query);
if($stores&&is_数组($stores)){
foreach($stores作为$store存储)
$groups[strtoupper($store->name[0])][]=$store;
如果(!empty($groups)):
foreach($letter=>$stores的组){
$old_list=$list;
$letter_items=假;
$list.=“\n\t”“。应用\u筛选器('the \u title',$letter)。”;
$list.=“\n\t”;
foreach($stores作为$store存储){
if(!in_数组($store->term_id,$hidden_stores)){
$list.=“\n\t\t”
”;
$letter_items=真;
}
}
$list.=“\n\t”
”;
如果(!$letter\u项目)
$list=$old_list;
}
endif;
}否则{
$list.=“\n\t”“”。\uuuu('抱歉,找不到存储区','appthemes')。';
}
您最好将其放入查询中(这样您就不会提取页面上不需要的数据),例如:
SELECT * FROM `table` WHERE `name` LIKE '$startLetter%'
我假设这是由您的
get\u terms
函数处理的,但我看不出我真的不能给出更多细节。您可以从数据库中选择,或者如果您不想这样做,您可以这样做
$list = array("abc","abd","xyz","aml");//assuming this is your array
foreach($list as $listValue){
if(substr($listValue, 0 ,1) == "a"){ //instead of "a" put $_GET['letter']
$finalarray[] = $listValue;
}
}
//在$finalarray
中,只有以($\u GET['letter']
开头的数据