首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中匹配数组

问在php中匹配数组
EN

Stack Overflow用户
提问于 2010-02-13 15:30:05
回答 4查看 437关注 0票数 1

我需要检查一个给定的数组是否与另一个数组匹配。我不知道如何操作第一个数组,或者以其他方式匹配它。

我需要匹配这个数组:

代码语言:javascript
复制
    Array
(
    [1] => site
    [2] => blog
    [3] => index.php
)

要与此匹配,请执行以下操作:

代码语言:javascript
复制
Array
(
    [site] => Array
        (
            [path] => site
            [name] => site
            [kind] => directory
            [content] => Array
                (
                    [404] => Array
                        (
                            [path] => site/404.php
                            [name] => 404.php
                            [extension] => php
                            [kind] => file
                        )

                    [blog] => Array
                        (
                            [path] => site/blog
                            [name] => blog
                            [kind] => directory
                            [content] => Array
                                (
                                    [contact] => Array
                                        (
                                            [path] => site/blog/contact.php
                                            [name] => contact.php
                                            [extension] => php
                                            [kind] => file
                                        )

                                    [index] => Array
                                        (
                                            [path] => site/blog/index.php
                                            [name] => index.php
                                            [extension] => php
                                            [kind] => file
                                        )

                                    [about] => Array
                                        (
                                            [path] => site/blog/about.php
                                            [name] => about.php
                                            [extension] => php
                                            [kind] => file
                                        )

                                )

                        )

                    [index] => Array
                        (
                            [path] => site/index.php
                            [name] => index.php
                            [extension] => php
                            [kind] => file
                        )

                )

        )

)

并返回文件的内容数组:

代码语言:javascript
复制
                            [index] => Array
                                (
                                    [path] => site/blog/index.php
                                    [name] => index.php
                                    [extension] => php
                                    [kind] => file
                                )

如果您能帮忙,我们将不胜感激!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-13 15:41:26

只需对数组进行索引:

代码语言:javascript
复制
$b[$a[1]]['content'][$a[2]]['content'][str_replace('.php', '', $a[3])]

如果您的输入可以是可变长度的,请在循环中执行此操作。

票数 2
EN

Stack Overflow用户

发布于 2010-02-13 15:41:21

所以你需要..。

代码语言:javascript
复制
$array2[$array[1]][content][$array[2]][substr(0, stripos($array[3], "."), $array[3])]

或者接近的东西..。

票数 1
EN

Stack Overflow用户

发布于 2010-02-13 15:32:31

代码语言:javascript
复制
$path = array('site', 'blog', 'index.php');
$node = array(...);  // the tree

for ($i = 0; $i < count($path) && !is_null($node); ++$i) {
  $p = $path[$i];
  $items = $i ? $node['content'] : $node;
  $n = null;
  foreach ($items as $it) {
    if ($it['name'] == $p) {
      $n = $node['content'][$p];
      break;
    }
  }
  $node = $n;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2256838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档