php里面只有索引数组正确嘛,PHP如果没有索引,如何访问多维数组的所有元素?...

我在这里使用了修改版本的代码

Determining what classes are defined in a PHP class file,从特定的文件列表中创建了一个多维的类和函数数组.我最终得到的是这个(我知道这些名字搞砸了,但是我已经搞砸了,并且必须返回并更改3个不同文件中的类名和函数名,所以我们假设这些是合法的类名和函数名),

Array

(

[0] => Array

(

[namethis_whatever_I_want] => Array

(

[0] => another_function

[1] => whatever_function

)

)

[1] => Array

(

[tc_class_simplevar] => Array

(

[0] => set_var_test

[1] => get_var_test

)

)

[2] => Array

(

[another_freekin_class] => Array

(

[0] => some_function

[1] => another_crazy_function

)

)

)

所以现在我需要能够访问每个类下的类名和函数名,而不知道它们中的任何索引是什么.我已经尝试过循环,foreach,并使用像$i和$ii这样的计数器来访问它们的数字索引,但我尝试的任何东西都会打印出除垃圾或错误之外的任何内容.

我在想类似嵌入式foreach语句的东西

$i = 0;

foreach($array as $class){

echo $class[$i];

$ii = 0;

foreach($class as $val){

echo $val[$ii];

$ii++;

}

$i++;

}

但没有运气.

还试图访问$array [$i] [$i];或$array [$i] [$ii];抛出错误坏偏移0

我确定类数组索引实际上被命名为类名会有问题,但我想我仍然可以使用数字索引.

基本上我对如何访问数据完全感到困惑,并且可以在正确的方向上使用一个点.

我需要能够获得一个类名,然后获取该类下的所有函数名,并且需要能够通过从数组中检索它们来在整个程序中的不同点访问它们.

谢谢

在讨厌别人寻求帮助后几分钟我讨厌回答我自己的问题.我觉得好像浪费了你的时间.

你们对foreach是正确的,但这是一个棘手的问题.问这个问题对于通过我需要找到的内容进行自我介绍是有帮助的,所以问题就在于我.

这个数组有3层.有一个包含3个数组的数组,每个数组都有一个字符串而不是数字的索引.每个都包含自己的元素.

所以我不得不遍历数组1,2,3获取每个元素的字符串索引,然后使用该字符串元素和数字元素来获取最内部数组的内部元素.好吧,这让我感到困惑,但这里的代码对我有用,使用echo和一些轻微的格式,所以我可以看到它正常工作.

$size = sizeof($objectList);

for($i = 0; $i < $size; $i++){

foreach($objectList[$i] as $key => $val){

$className = $key;

echo $className . ":
";

foreach($objectList[$i][$className] as $val){

$functionName = $val;

echo $functionName . " , ";

}

echo "
";

}

}

导致

namethis_whatever_I_want:

another_function,whatever_function,

tc_class_simplevar:

set_var_test,get_var_test,

another_freekin_class:

some_function,another_crazy_function,

对于其他任何人,如果它有帮助,这里是标记版本与我的数组和变量名称进行比较.我会说这种方式最干净,它会删除几行代码.

foreach($objectList as $objects){

foreach($objects as $classname => $functions){

$cn = $classname;

foreach($functions as $functionname){

$fn = $functionname;

}

}

}

谢谢您的帮助 :-)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值