Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数组中提取我想要的东西?_Php_Yaml - Fatal编程技术网

Php 从数组中提取我想要的东西?

Php 从数组中提取我想要的东西?,php,yaml,Php,Yaml,我有一个yaml文件,我需要将它解析成一个数组,然后我就完成了。现在这个阵列是巨大的。我只想要几个值 X1,Y1,X2,Y2,主人,这就是我想要的。如果我能把它们很好地吐到数组中,那对我来说就意味着整个世界。(所有者必须是与X1、y1、x2、y2值相关的所有者 (它们都是相互关联的)数组中有许多x1,y1,但它们都在标题下…等等,我不知道如何获得它们 下面看一下数组输出的内容…(由于文件大小限制而缩短) 任何帮助都将不胜感激。您只需将完整的引用添加到您试图输出的数据中即可 示例:echo$da

我有一个yaml文件,我需要将它解析成一个数组,然后我就完成了。现在这个阵列是巨大的。我只想要几个值

X1,Y1,X2,Y2,主人,这就是我想要的。如果我能把它们很好地吐到数组中,那对我来说就意味着整个世界。(所有者必须是与X1、y1、x2、y2值相关的所有者

(它们都是相互关联的)数组中有许多x1,y1,但它们都在标题下…等等,我不知道如何获得它们

下面看一下数组输出的内容…(由于文件大小限制而缩短)


任何帮助都将不胜感激。

您只需将完整的引用添加到您试图输出的数据中即可

示例:
echo$data['Residences']['WorkArea']['Permissions']['Owner'];

类似的内容

$extracted = array_map(function ($residence) {
    $r = $residence['Areas']['main'];
    $r['owner'] = $residence['Permissions']['Owner'];
    return $r;
}, $data['Residences']);

要解析YAML,您可以使用各种可用的PHP解析器。我使用并输出JSON中的字符串来解析YAML。最后,可以通过解码JSON来访问所需的数组值

* 请注意,我把绳子剪短只是为了举例 *

解码JSON

$a= json_decode($arr,true);
第一个区域值通过

$a['Residences']['WorkArea']['Areas']['main']['Y1'];
和第二面积值

$a['Residences']['caylyn55']['Areas']['main']['Y1'];  
如果['WorkArea']和['caylyn55']是动态的,您可以使用此代码

$b=array_values($a);
foreach($b as $values)
{
if(is_array($values)) {

    foreach(array_keys($values) as $c){

     echo  $a['Residences'][$c]['Areas']['main']['Y1'];

        }

    }

}

我们可以取消完整的YAML解析吗?我有YAML文件。我需要一些方法让php读取它,这样我就可以接受建议了?下面是它的外观…让它像文本文件一样处理可能是一个好主意吗?查找x1,y1并在它之后抓取字符串w/e,然后是所有者,然后解析下一个x1,y1等$数据yaml阵列我得到的错误是,警告:array\u map():参数#2应该是第20行C:\xampp\htdocs\yaml-load.php中的数组参数#2应该是pastebin中描述的数组检查它的键并调整给定的代码很抱歉我不太懂。我从未对数组映射做过任何操作。这在处理数组时非常有用。检查它的文档和示例:问题是我有大约500-8个00个需要解析的东西…$a['Residences']['THIS PART']['Areas']['main']['Y1'];表示这一部分的部分,有没有一种方法可以自动进行分析?通过某种形式的观察,因为我必须为其中大约500个进行分析。如果[这一部分]是动态的,那么每次你都必须知道它。如果你已经知道它,你可以保存所有[这一部分]在数组/数据库中迭代解析的YAML。它是100%动态的,来自用户输入,所以它可以是任何内容:(请查看编辑,这只是一个可以用来捕获数组键和值的想法;OMG!太棒了!非常感谢,太棒了!
$b=array_values($a);
foreach($b as $values)
{
if(is_array($values)) {

    foreach(array_keys($values) as $c){

     echo  $a['Residences'][$c]['Areas']['main']['Y1'];

        }

    }

}