php - 数组索引php中的按位运算符
问题描述
我收到了一条看起来像这样的数据
"siteService": "1|10|11|12|13|14|15|16|17|18|2|3|4|5|6|7|8|9".
此数据的目的是为用户和选择的一系列站点服务编制索引,并且数据将根据用户选择的内容而有所不同,因此它也可以是:
"siteService": "1|2|3|4|5"
所以我创建了一个这样的查找数组:
$siteServiceLookup = [
1 => 'service',
2 => 'service',
3 => 'service',
4 => 'service',
5 => 'service',
6 => 'service',
7 => 'service',
8 => 'service',
9 => 'service',
10 => 'service',
11 => 'service',
12 => 'service',
13 => 'service',
14 => 'service',
15 => 'service',
16 => 'service',
17 => 'service',
18 => 'service',
19 => 'service',
20 => 'service',
21 => 'service',
22 => 'service',
23 => 'service',
24 => 'service',
];
我需要做的是仅当用户选择并且为“siteService”创建的一系列数字代表用户正在选择的服务时才选择服务。
数据来自另一位开发人员,我想他希望我使用序列号作为索引,所以我通过我的数组迭代它,但我不知道按位运算符在数组索引中会做什么。我无法很快与他取得联系,我的最后期限即将到来。有人可以帮忙吗?
解决方案
你只需要一个简单的 foreach 循环
$siteServiceLookup = [
1 => 'service1', 2 => 'service2', 3 => 'service3', 4 => 'service4', 5 => 'service5',
6 => 'service6', 7 => 'service7', 8 => 'service', 9 => 'service', 10 => 'service',
11 => 'service11', 12 => 'service12', 13 => 'service13', 14 => 'service14', 15 => 'service15',
16 => 'service16', 17 => 'service17', 18 => 'service18', 19 => 'service19', 20 => 'service20',
21 => 'service21', 22 => 'service22', 23 => 'service23', 24 => 'service24',];
$input = '1|3|5';
$wanted = explode('|', $input);
foreach ( $wanted as $key ) {
echo $siteServiceLookup[$key] . PHP_EOL;
}
结果
service1
service3
service5
推荐阅读
- python - 在 Python BOXSDK 中不工作 JWT 身份验证
- r - 按行从数据框中的列中提取公共子字符串
- android - RecyclerView 中没有数据
- asp.net - ASP.NET MVC:如何在表格中显示 int 评级值?
- angular - Angular ng build 不生成 dist 文件夹
- java - 无法使用 SavedModelBundle 在 java 中加载 Tensorflow 模型
- android - 升级到 OkHttp 4.7.0 或更高版本后使用 Robolectric 时出现“没有此类提供程序:BCJSSE”
- c# - 检查网站表中的值是否已存在于 IEnumerable 中
- python-3.x - Apache Beam DirectRunner 代码因属性错误而失败(无检查点)
- javascript - 根据两个字段对 json 进行排序