从三维数组中递归获取特定值
Recursively get specific values from three-dimensional array
解决方案
感谢@El_Vanja
if ($WPArray[0]['acf']['actor_reels']) {
$actor_reels = array_column($WPArray[0]['acf']['actor_reels'], 'actor_reel_category');
foreach ($actor_reels as $actor_reel) {
echo $actor_reel[0];
}}
原问题
我有以下返回数组的代码:
$WPArray = json_decode("$WPVars", true);
$output = $WPArray[0]['acf']['actor_reels'];
print_r($output);
返回:
Array (
[0] => Array (
[actor_reel_name] => Voice Reel
[actor_reel_category] => Array (
[0] => Voicereel
)
[actor_reel_url] => www.example.com
[actor_reel_image] => www.example.com
)
[1] => Array (
[actor_reel_name] => Show Reel
[actor_reel_category] => Array (
[0] => Showreel
)
[actor_reel_url] => www.example.com
[actor_reel_image] => www.example.com
)
)
我的脚本的下一部分是能够将“Voicereel
”和“Showreel
”值放入一个新数组中(假设它称为 $actor_reel_cats)这样它们就可以在 foreach 语句的其他地方使用,并且每个 actor_reel_category
最终都会显示为网页上的按钮。
<?php foreach($actor_reel_cats as $reel_cat): ?>
<div class="f_btn">
<label><input type="radio" name="fl_radio" value="<?= $reel_cat ?>" />
<?= $reel_cat ?>
</label>
</div>
<?php endforeach; ?>
actor_reel_category 值是完全动态的,列表可以随时添加,例如,下一个数组 [2]
可能有 [actor_reel_category] => Dance Reels
(或任何其他值作为它们将由最终用户自定义)所以我有点难过。
高级自定义字段人员注意事项:此脚本在 WordPress 之外,因此我无法使用您通常使用的任何功能,例如 get_field_object()
,除非我要 import/re-create 或复制它们。
此外,我是 Whosebug 的新手,如果我在这里的帮助请求有任何异常,我深表歉意。
TIA
解决方案
感谢@El_Vanja
if ($WPArray[0]['acf']['actor_reels']) {
$actor_reels = array_column($WPArray[0]['acf']['actor_reels'], 'actor_reel_category');
foreach ($actor_reels as $actor_reel) {
echo $actor_reel[0];
}}
解决方案
感谢@El_Vanja
if ($WPArray[0]['acf']['actor_reels']) {
$actor_reels = array_column($WPArray[0]['acf']['actor_reels'], 'actor_reel_category');
foreach ($actor_reels as $actor_reel) {
echo $actor_reel[0];
}}
原问题
我有以下返回数组的代码:
$WPArray = json_decode("$WPVars", true);
$output = $WPArray[0]['acf']['actor_reels'];
print_r($output);
返回:
Array (
[0] => Array (
[actor_reel_name] => Voice Reel
[actor_reel_category] => Array (
[0] => Voicereel
)
[actor_reel_url] => www.example.com
[actor_reel_image] => www.example.com
)
[1] => Array (
[actor_reel_name] => Show Reel
[actor_reel_category] => Array (
[0] => Showreel
)
[actor_reel_url] => www.example.com
[actor_reel_image] => www.example.com
)
)
我的脚本的下一部分是能够将“Voicereel
”和“Showreel
”值放入一个新数组中(假设它称为 $actor_reel_cats)这样它们就可以在 foreach 语句的其他地方使用,并且每个 actor_reel_category
最终都会显示为网页上的按钮。
<?php foreach($actor_reel_cats as $reel_cat): ?>
<div class="f_btn">
<label><input type="radio" name="fl_radio" value="<?= $reel_cat ?>" />
<?= $reel_cat ?>
</label>
</div>
<?php endforeach; ?>
actor_reel_category 值是完全动态的,列表可以随时添加,例如,下一个数组 [2]
可能有 [actor_reel_category] => Dance Reels
(或任何其他值作为它们将由最终用户自定义)所以我有点难过。
高级自定义字段人员注意事项:此脚本在 WordPress 之外,因此我无法使用您通常使用的任何功能,例如 get_field_object()
,除非我要 import/re-create 或复制它们。
此外,我是 Whosebug 的新手,如果我在这里的帮助请求有任何异常,我深表歉意。
TIA
解决方案
感谢@El_Vanja
if ($WPArray[0]['acf']['actor_reels']) {
$actor_reels = array_column($WPArray[0]['acf']['actor_reels'], 'actor_reel_category');
foreach ($actor_reels as $actor_reel) {
echo $actor_reel[0];
}}