【发布时间】: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循环吗?谢谢!