带有2种分隔符的PHP分解数组
我有这个选项数组:带有2种分隔符的PHP分解数组,php,arrays,explode,Php,Arrays,Explode,我有这个选项数组: string(111) "colors:black;white;transparent;pink;" 如何分解它,使其成为标签第一个分隔符:数组中的其余部分作为选项?到目前为止,我有: $options= explode(";",$rows[0]); $htm= '<ul class="product_opts">'.$lang['available_options'].''; foreach ($options as $value) {
string(111) "colors:black;white;transparent;pink;"
如何分解它,使其成为标签第一个分隔符:数组中的其余部分作为选项?到目前为止,我有:
$options= explode(";",$rows[0]);
$htm= '<ul class="product_opts">'.$lang['available_options'].'';
foreach ($options as $value) {
$row=mysql_fetch_row($result);
$htm.='<li style="text-align:left;font-weight:normal;">'.$value.'</li>';
}
$htm.= '</ul>';
}
echo $htm;
$options=explode(“;”,$rows[0]);
$htm='。$lang['available_options'.';
foreach($value形式的期权){
$row=mysql\u fetch\u row($result);
$htm.='- ”。$value.
';
}
$htm.='
';
}
echo$htm;
但它也将标签作为选项返回
分解字符串:
。第一个标记是您的标签,第二个标记是您的选项分解第二个标记代码>,并且您在数组中有您的选项
分解字符串:
。第一个标记是您的标签,第二个标记是您的选项分解第二个标记代码>,并且您在数组中有您的选项
$str=“颜色:黑色;白色;透明;粉色;”;
列表($label,$optionsStr)=分解(“:”,$str);
$optionsStr=rtrim($optionsStr,“;”);
$options=分解(“;”,$OPTIONSTR);
回声“;
打印(标签);
打印(可选);
$str=“颜色:黑色;白色;透明;粉色;”;
列表($label,$optionsStr)=分解(“:”,$str);
$optionsStr=rtrim($optionsStr,“;”);
$options=分解(“;”,$OPTIONSTR);
回声“;
打印(标签);
打印(可选);
使用split
这样做
$attributes="colors:black;white;transparent;pink;";
list($attribute, $values) = array_map(
function($value) {
return array_filter(explode(';', $value));
},
explode(':', $attributes)
);
var_dump($attribute);
var_dump($values);
使用
split
这样做
$attributes="colors:black;white;transparent;pink;";
list($attribute, $values) = array_map(
function($value) {
return array_filter(explode(';', $value));
},
explode(':', $attributes)
);
var_dump($attribute);
var_dump($values);
注意:从PHP 5.3.0开始,此函数(拆分)已被弃用。注意:从PHP 5.3.0开始,此函数(拆分)已被弃用。很好的解决方案,谢谢大家@entrex我接受你的回答,谢谢!很好的解决方案,伙计们,谢谢你们所有人@entrex我接受你的回答,谢谢!
$options= split("[;|:]",$rows[0]);
$attributes="colors:black;white;transparent;pink;";
list($attribute, $values) = array_map(
function($value) {
return array_filter(explode(';', $value));
},
explode(':', $attributes)
);
var_dump($attribute);
var_dump($values);