【发布时间】:2016-12-16 11:50:25
【问题描述】:
我有以下Array 结构$array。
Array
(
[WIDGET_BUILDER_CREATE] => Array
(
[TITLE] => Widget Builder
[WIDGET_TYPE_LBL] => Select Widget Type
[RANGE_LBL] => Select Range
[RANGE_TYPE_LBL] => Select Range Type
[TOP_SERVICE_CHKBOX] => Top Services
[SR_STATE_LBL] => Select Sr States
[SR_TYPE_LBL] => Select Sr Types
[SR_CATEGORY_LBL] => Select Sr Categories
[SR_SOURCE_LBL] => Select Sources
[SR_PROVIDER_LBL] => Select Sr Provider
[ADDRESS] => Enter Address
[SUBMIT_BTN] => Generate Data
[CHART_DIV] => Array
(
[TYPE] => Select chart type
[SAVE_BTN] => Save Widget
[SERIES_NAME] => Change Parameters
[PARA_DIALOG] => Array
(
[TITLE] => Chart Parameters
[SERIESNAME] => Series Name
[YAXISNAME] => Y axies name
[VALIDATION] => Array
(
[SERIESNAME] => Please enter series name
[YAXISNAME] => Please enter y axis name
)
[SAVE_BTN] => Save
[CANCEL_BTN] => Cancel
)
[SAVE_DIALOG] => Array
(
[TITLE] => Save Chart
[CHART_NAME] => Chart Name
[SHOW_TO_USER] => System Widget
[VALIDATION] => Array
(
[CHART_NAME] => Please enter chart name
)
[SAVE_BTN] => Save
[CANCEL_BTN] => Cancel
)
)
[GRID_DIV] => Array
(
)
)
)
问题:
我想在 PHP 中构建一个函数,如果我输入一个值,那么它应该返回层次结构中的所有父键。
例如,如果我输入Please enter y axis name,它应该返回为
$array['WIDGET_BUILDER_CREATE']['CHART_DIV']['PARA_DIALOG']['VALIDATION']['YAXISNAME'];
编辑: 我尝试过How to get hierarchy path of an element in an Array,但它作为字符串返回,但我希望作为数组键索引。这意味着
print_r($array['WIDGET_BUILDER_CREATE']['CHART_DIV']['PARA_DIALOG']['VALIDATION']['YAXISNAME']);
//returns Please enter y axis name
我使用的是 PHP 5.5.9
【问题讨论】:
-
我不明白。该函数应该返回您输入的相同值吗?在您的示例中,
$array['WIDGET_BUILDER_CREATE']...实际上会返回字符串"Please enter y axis name" -
我认为张贴者希望函数返回包含字符串而不是值的数组路径。
-
如果相同的文本在数组中出现两次怎么办?
-
@Daan ,这是可能的,但会在不同的键内
-
那你想得到哪条路径作为回报呢?两者都有?