首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态url(由斜杠分隔)参数得到数组?(例如: /category,cat1,cat1 2/ type1,type1,type2)

动态url(由斜杠分隔)参数得到数组?(例如: /category,cat1,cat1 2/ type1,type1,type2)
EN

Stack Overflow用户
提问于 2021-03-06 07:20:51
回答 1查看 93关注 0票数 2

玩得很好,伙计们!,我目前正在eCommerce上工作,比如产品过滤器,控制器从前端主类别获得请求,参数用斜杠(‘/’)分隔。URL参数发送如下:

代码语言:javascript
复制
example.com/skin-care/categories,facial-cleansers-toners/collection,classic/skin-types,normal,soft

当用户从过滤器中选择属性时,这些URL将打开。所以在example.com/skin-care/完全是动态的之后。

/skin-care -主类别后第一个斜杠分开,所有参数动态属性。例:/{attribute},value1,value1,..

因此,上面的例子有一个主要类别弹格和三个属性(类别、集合、皮肤类型)和该属性的值。

我只需要获得这些属性来关联数组。就像这样:

代码语言:javascript
复制
$attributes = ['categories' => ['facial-cleansers-toners'],
        'collection' => ['classic'],
        'skin-types' => ['normal','soft']
        ];

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-06 08:53:24

你的网址是:

代码语言:javascript
复制
$static_url = "http://example.com/skin-care/categories,facial-cleansers-toners/collection,classic/skin-types,normal,soft";

首先,我们必须解析您的URL以获得所需的参数:

代码语言:javascript
复制
$url_components = parse_url($static_url);

该变量输出3项schemehostpath。从这里开始我们只需要path,所以:

代码语言:javascript
复制
$url_path = $url_components['path'];

在下一个级别中,我们需要从字符串中删除第一个/字符,并通过/字符引爆字符串:

代码语言:javascript
复制
$url_path_params = ltrim($url_path, $url_path[0]);
$url_attributes = explode('/', $url_path_params);

在本节中,我们提供了您可能需要的主要类别:

代码语言:javascript
复制
$main_category = $url_attributes[0]; // skin-care

我们这里不需要第一项($main_category = 'skin-care'),所以:

代码语言:javascript
复制
array_shift($url_attributes);

在最后一步中,我们获得了需要使用foreach循环填充属性数组的$url_attributes,并按如下方式由,爆炸字符串:

代码语言:javascript
复制
$attributes = [];
foreach ($url_attributes as $attribute_key => $attribute_value) {
    $each_attribute = explode(',', $attribute_value);
    $cat = array_shift($each_attribute);

    $attributes[$cat] = $each_attribute;
}

如果从$attributes获得输出,就会得到所需的数据。在var_dump输出中,这将返回:

您可以通过: skin_types访问$attributes["skin-types"]

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66503348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档