当然可以,前提是
C.php
include 'A.php';
include 'B.php';

B.php
include 'A.php';
C.php
include 'B.php';

解决方案 »

  1.   

    你C php 没有引用B php吧?
      

  2.   

    两位版主好,我写了个简单的例子说明我的想法:
    A.php<?php  
    $var_global;
    echo "<a href='B.php'>跳转到B赋值</a></br>";
    ?>
    B.php<?php  
    include "A.php";
    //这个单元来赋值
    $var_global = "B来赋值";
    echo "</br>B单元中var_global的值是:" . $var_global;
    echo "</br><a href='C.php'>跳转到查看结果";
    ?>
    C.php<?php
    include "A.php";
    //这个单元来访问
    echo "</br>C单元中var_global的值是:" . $var_global;
    ?>
    执行的结果是:A.php:->
    跳转到B赋值
    B.php->
    B单元中var_global的值是:B来赋值
    跳转到查看结果
    C.php->
    跳转到B赋值C单元中var_global的值是:即C中获得的值为空,不是我想要的 “B来赋值”
      

  3.   

    我的想法就是像C那样,在A中定义一些全局变量,在B中通过流程赋值改变他,在C和其它的php单元中可以使用这些改变之后的全局变量,不用SESSION。可行么?
    顺序的全部include,应该是可以改变的,但是B和C之间没有这种引用关系,写起来不明晰
      

  4.   

    而且有时候C.php是不能include B.php的,例如
    B是一个登陆页面
    C是其他的业务页面,B中登陆做个标记,C中判断这个标记
      

  5.   

    那是不可以的!
    你不在 C.php 中引用 B.php,那么 B.php 如何执行的?如果不是包含关系,那就得通过参数传递或是用session
      

  6.   

    还是以登录作为例子,A中有个登录成功与否的标志$login,B中负责登陆,如果成功就 $login = "success",C中不管B执行不执行,就是判断$login是不是等于"success",不等于就不工作。
    那就是只能用session或者cookie之类的了?
      

  7.   

    我一直用C,初学php,正在学习C的哪些用法和php不同
      

  8.   

    对,你这种情况用session/cookie最适合不过了。
      

  9.   

    是的!还是以登录作为例子,A中有个登录成功与否的标志$login,B中负责登陆,如果成功就 $login = "success",C中不管B执行不执行,就是判断$login是不是等于"success",不等于就不工作。
    那就是只能用session或者cookie之类的了?你用 C 是写桌面程序的,与用户的交互是在程序运行期间完成的
    而网站程序是间断运行的,不会保存现场(也无法保存现场)