PHP新手在这里
任何人都可以告诉我以下语法有什么问题。我最多有 4 个文件 - $created_page1、$created_page2,每个文件都有相应的页面标题等,并希望循环处理这些文件。然而,每次我尝试连接字符串和循环数字时,PHP 都会抛出一个摇摆不定的问题 - 特别是 $created_page.$num_pages 不会导致向函数发送 $created_page1 或 $created_page2,而是它只是将字符串和数字转换为整数。我敢肯定,非常基本,但我会非常感谢任何帮助或我可以轻松理解的更好的解决方案。提前感谢!
$addit_pages == 4;
for ($num_pages=1;$num_pages<=$addit_pages ;$num_pages++) {
replaceFileContent ($dir,$created_page.$num_pages,"*page_title*",$page_title.$num_pages);
//replaceFileContent ($dir,$created_page2,"*page_title*",$page_title2);
//replaceFileContent ($dir,$created_page1,"*page_title*",$page_title3);
//replaceFileContent ($dir,$created_page3,"*page_title*",$page_title4);
}
获取变量名称的代码应该是:
${'created_page'.$num_pages}
这是因为在尝试访问变量之前,您必须计算大括号内的字符串。
您之前的代码尝试访问变量 $created_page 和 $num_pages,并简单地将它们的值连接成一个字符串。
当然,page_title变量也是如此
${'page_title'.$num_pages}
你可以试试这个:
$addit_pages == 4;
for ($num_pages=1;$num_pages<=$addit_pages ;$num_pages++( {
replaceFileContent ($dir,$created_page.strval($num_pages(,"*page_title*",$page_title.strval($num_pages((;替换文件内容 ($dir,$created_page2,"*page_title*",$page_title2(;替换文件内容 ($dir,$created_page1,"*page_title*",$page_title3(;替换文件内容 ($dir,$created_page3,"*page_title*",$page_title4(;
}
PHP strval 函数将任何整数转换为字符串
我认为您要问的是您希望变量$created_page1; $created_page2, $created_page3
但 php 可能会抛出$created_page
不存在的通知。
你需要使用变量变量(这就是它们的名字吗?
$addit_pages == 4;
for ($num_pages=1;$num_pages<=$addit_pages ;$num_pages++) {
$createdVar = 'created_page'.$num_pages;
$titleVar = 'page_title'.$num_pages;
replaceFileContent ($dir,$$createdVar,"*page_title*",$$titleVar);
}
当您使用 $$
时,它首先计算变量$createdVar
将其转换为created_page1
然后计算created_page1
就像您键入$created_page1