php - 变量的多维数组键
问题描述
可悲的是我还没有找到任何解决方案。
我有一个看起来像这样的多维数组:
Array
(
[0] => Array
(
[Symbol] => CASY.US
[Position] => 169873920
)
[1] => Array
(
[Symbol] => US500
[Position] => 168037428
) )
现在我想将内部数组的键名写入变量,以便我拥有这些变量的值:
$col1 = "Symbol"
$col2 = "Position"
我怎样才能做到这一点?不知何故有几个foreach循环?
背景:之后我想检查列是否具有正确的验证名称。
提前致谢!
解决方案
循环嵌套并将键保存到一个带有“col”和一个整数的数组中,以后可以(如果你真的必须提取),但我建议将它们保留在数组中。
foreach($array as $subarray){
$i = 1;
foreach($subarray as $key => $val){
$keys["col" . $i] = $key;
$i++;
}
break; // no need to keep looping if the array is uniform
}
//if you must:
extract($keys);
如果子数组不相同,那么您需要循环所有子数组并查看密钥是否已保存,如果未保存则跳过它。
$keys =[];
$i = 1;
foreach($array as $subarray){
foreach($subarray as $key => $val){
if(!in_array($key, $keys)){
$keys["col" . $i] = $key;
$i++;
}
}
}
var_dump($keys);
//if you must:
extract($keys);
var_dump($col1, $col2, $col3);
推荐阅读
- video - 令人困惑的问题 - FFmpeg 片段过滤器使视频不同步
- c# - 在 TableLayoutPanel 中交换控件位置
- python - Python - 是否可以在另一个实例方法中定义一个实例方法?
- android - 无法解决:com.google.android.gms:play-services-maps:15.6.1 安装存储库并同步项目在文件中显示在项目结构对话框中显示
- php - 将爬虫重定向到 NGINX 中的内部微服务
- python - 在 seaborn 中更改 violinplot 棒的颜色
- c++ - C 为什么我的程序循环和“if 语句”不起作用?
- ios - 如何在CoreData的tableview单元格中存储URL及其位置?
- java - 创建一个数组,读取一个文件并创建一个新文件 - java
- android - Android:将 ImageView 放置在屏幕上的确切位置