首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数组中的两个变量保存为键和值[PHP]

如何将数组中的两个变量保存为键和值[PHP]
EN

Stack Overflow用户
提问于 2014-08-26 15:28:18
回答 1查看 179关注 0票数 1

我目前正在编写一个脚本,该脚本搜索.md文件并从中提取一个字符串,但在将该字符串保存在数组中时遇到了问题。

下面是我使用的代码:

代码语言:javascript
复制
$flags = \FilesystemIterator::SKIP_DOTS;
$iterator = new \RecursiveDirectoryIterator($userContent, $flags);
$iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::SELF_FIRST);

foreach ($iterator as $v) {

    $checkFiles = strpos($v, ".md");
    $url = array();

    if (!$checkFiles == '') {

        $mdFile = $v;
        $mdContent = file_get_contents($mdFile);
        $mdBreak = strpos($mdContent, "url: ");
        $mdContent = substr($mdContent, $mdBreak + 5);
        $mdBreak = strpos($mdContent, "\n");
        $mdUrl = substr($mdContent, 0, $mdBreak);

        echo $mdUrl . ' => ' . $mdFile;
        echo '<br>';

        $url[$mdUrl] = $mdFile;

    }

}

脚本成功地找到了.md文件,也成功地在这些文档中找到了url: custom-url

此外,echo $mdUrl . ' => ' . $mdFile;返回custom-url => /content/default.md,但显然将url保存为键,路径作为值不起作用,因为print_r($url)返回Array ( [url-test ] => SplFileInfo Object ( [pathName:SplFileInfo:private] => /content/default.md [fileName:SplFileInfo:private] => default.md ) )

谁能告诉我我做错了什么,也许能帮我修复剧本吗?

编辑:显然,这是一个变量的问题,我试图设置为值。

当我用$mdFile = $v取代$mdFile = (string)$v;时,它就起作用了。

EN

回答 1

Stack Overflow用户

发布于 2014-08-26 15:32:30

您正在每个循环上一次又一次地初始化$mdUrl数组。我想你是想在foreach循环上面初始化它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25509641

复制
相关文章

相似问题

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