首页 / PHP / php自定义函数如何引用外部变量?
php自定义函数如何引用外部变量?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php自定义函数如何引用外部变量?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2554字,纯文字阅读大概需要4分钟。
内容图文
![php自定义函数如何引用外部变量?](/upload/InfoBanner/zyjiaocheng/145/daba342bef0141329dcb7993ffe57b39.jpg)
Warning: Invalid argument supplied for foreach() in /home/yiliaoba/domains/chaochaoblog.com/public_html/wp-content/themes/chaochao/comments.php on line 49
好了,出现了一个invalid argument,即一个不可用的参数。
这个问题是怎么产生的呢,回去找找代码如下:
foreach ($comments as $comment) :
这下就看出来了,$comments 是函数外的变量,而我们就在函数中使用了。按照一般程序编写的思路,函数外的变量应该是可以看成全局变量的,如果是全局变量的话,那么在函数中调用是完全没有问题的。
看来php和我们传统的思路有点问题,那么php中全局变量是怎么的呢,我特意编写代码试试看。
1.在外部用global定义直接输出:
global $mytext; $mytext=”nihao”; function chao_echo(){ echo $mytext; } chao_echo();
结果:没有输出;
2.用GLOBALS数组输出:
global $mytext; $mytext=”nihao”; function chao_echo(){ echo $GLOBALS['mytext']; } chao_echo();
结果:输出正常
3.在函数内全局申明函数外的变量:
$mytext=”nihao”; function chao_echo(){ global $mytext; echo $mytext; echo $GLOBALS['mytext']; } chao_echo();
结果:直接输出或者用GLOBALS全局数组输出都行。
4.将函数外部变量用参数传递进去:
$mytext=”nihao”; function chao_echo($mytext){ echo $mytext; } chao_echo($mytext);
结果:可以输出。
总结一下,php中,函数内引用函数外的变量三种方法:
1.函数外global声明,函数内使用$_GLOBALS数组引用。
2.函数内global声明,函数内$_GLOBALS数组或者直接引用。
3.在调用函数的时候用一个参数传递。
那么,我们修改版的循环嵌套的函数如下
<?php function chao_comment_circle($chao_id,$comments){ ?> <?php foreach ($comments as $comment) > <?php if($comment->comment_parent==$chao_id) > <!-- 子评论 b --> <div class="comment_one_sub"> <?php if (function_exists('get_avatar')) { ?> <div class="gravatar_sub"><?php echo get_avatar($comment->comment_author_email,'32'); ?></div> <?php } ?> <div class="comment_frame_sub"> <div class="comment_author_sub"><a href="<?php echo $comment->comment_author_url; ?>"><?php echo $comment->comment_author; ?></a></div> <div class="comment_reply_sub" onclick="chao_reply('<?php echo $comment->comment_ID; ?>','<?php echo $comment->comment_author; ?>')"><a href="#respond">【回复】</a></div> <div class="comment_date_sub"><?php echo $comment->comment_date; ?> <?php echo $comment->comment_time; ?></div> </div> <div class="comment_text_sub"><?php echo $comment->comment_content; ?></div> <?php chao_comment_circle($comment->comment_ID,$comments); ?> </div> <!-- 子评论 e --> <?php endif ?> <?php endforeach ?> <?php } ?>
$chao_id是我们母评论的ID,即我们因该先输出不是回复的评论,在其末尾调用该回复输出函数。
以上就是php自定义函数如何引用外部变量?的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的php自定义函数如何引用外部变量?全部内容,希望文章能够帮你解决php自定义函数如何引用外部变量?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。