【问题标题】:How to get all array values in php?如何在php中获取所有数组值?
【发布时间】:2015-06-25 13:37:32
【问题描述】:

我一直在尝试使用模板创建新页面,其中一些字符串被一些数组中的值替换。对于特定的数组编号,页面创建工作正常。但是,我希望从数组中的所有值创建新页面,而不仅仅是一个或两个特定值。

这是目前为止的代码:

<?php

 $dom= file_get_html($url);
 $array_title = array();
 $array_details = array();
 foreach ($dom->find('div[class=main]') as $results) {
        foreach ($results->find('title') as $title) {
        $array_title[] = $title->alt;
        }

        foreach ($results->find('div[class=details]') as $details) {
        $array_descript[]= $details->innertext;
        }
 }
 {
    $page = str_replace("{title}", $array_title[3], $template);
    $page = str_replace("{descript}", $array_descript[3], $page);


     //create a name for the new page
    $pagename =  $array_title[3].".php"; 

    //put the created content to file
    file_put_contents("article/".$pagename,$page);
 }

?>

回显时的数组:

 Array
 (
  [0] => Guacamole 
  [1] => Buffalo Chicken Dip
  [2] => Jalapeno Popper Spread
  [3] => Seven Layer Taco Dip
  [4] => Brown Sugar Smokies
  [5] => Baked Kale Chips

)

Array
(
 [0] => Guacamole recipe
 [1] => Buffalo Chicken Dip recipe
 [2] => Jalapeno Popper Spread recipe
 [3] => Seven Layer Taco Dip recipe
 [4] => Brown Sugar Smokies recipe
 [5] => Baked Kale Chips recipe
 )

上面的代码使用数组中第 3 行中的值创建了一个新页面。我尝试过像这样[ ] 将数组编号设为空白,但它返回了以下错误:PHP Fatal error: Cannot use [ ] for reading

我可以得到一些洞察力来获得我所期望的所有数组值吗? 提前致谢

【问题讨论】:

  • 发布你的数组结构
  • 您不能将$array_title[3] 设置为$array_title[],因为您专门选择了数组的第三个元素并将其留空将引发您看到的错误。您需要一个 for 循环来从 $array_title 获取所有元素,但不知道结构,就像 @Uchiha 要求的那样,这很难调试。
  • 数组总是从 0 开始,如果你想得到第三个结果你需要做 $array_title[2];
  • 嗨@Uchiha,我刚刚发布了数组结构,谢谢
  • @the_pete 你能告诉我如何制作for循环吗?谢谢!

标签: php arrays


【解决方案1】:

继承你的代码和我建议给你的改变:

<?php

 $dom= file_get_html($url);
 $array_title = array();
 $array_details = array();
 foreach ($dom->find('div[class=main]') as $results) {
        foreach ($results->find('title') as $title) {
        $array_title[] = (string)$title->alt;
        }

        foreach ($results->find('div[class=details]') as $details) {
        $array_descript[]= (string)$details->innertext;
        }
 }
 {
    $page = str_replace("{title}", $array_title[3], $template);
    $page = str_replace("{descript}", $array_descript[3], $page);


     //create a name for the new page
    $pagename =  $array_title[3].".php"; 

    //put the created content to file
    file_put_contents("article/".$pagename,$page);
 }

?>

【讨论】:

  • 谢谢!我刚刚尝试过,似乎页面创建不起作用,所有数组值都返回空白。但是,感谢您的回复丹尼 :)
猜你喜欢
  • 1970-01-01
  • 2015-08-25
  • 2016-01-18
  • 1970-01-01
  • 2015-03-24
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多