-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtopic-224.html
88 lines (75 loc) · 8.02 KB
/
topic-224.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr">
<head>
<title>日本PHPユーザ会 掲示板: PHP 5 » 互換モードについて</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。" />
<meta name="keywords" content="php,web,php.gr.jp,community,usebb" />
<link rel="stylesheet" type="text/css" href="./templates/phpgrjp0.3/styles.css" />
<link rel="shortcut icon" href="./templates/phpgrjp0.3/gfx/usebb.ico" />
<link rel="alternate" type="application/rss+xml" title="日本PHPユーザ会 掲示板 RSS フィード" href="rss.xml" />
<script type="text/javascript" src="sources/javascript.js"></script>
</head>
<body onload="javascript:init_external()">
<div id="pagebox-bg">
<div id="shadow-left">
<div id="shadow-right">
<p id="logo"><a href="index.html"><img src="./templates/phpgrjp0.3/gfx/usebb.png" alt="UseBB" title="ホーム" /></a></p>
<h1 id="boardname"><span id="line">日本PHPユーザ会 掲示板</span></h1>
<h2 id="boarddescr">日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。</h2>
<div id="topmenu"><ul>
<li><a href="index.html">ホーム</a></li><li><a href="faq.html">FAQ</a></li><li><a href="active.html">活発なトピック</a></li>
</ul></div>
<div id="topmenu-shadow"></div>
<p class="locationbar">
• <a href="index.html">日本PHPユーザ会 掲示板</a> » <a href="forum-4.html">PHP 5</a> » 互換モードについて
</p>
<h3 id="forumname"><a href="topic-224.html">互換モードについて</a></h3>
<p id="forummods"></p>
<p id="toolbartop"> </p>
<p id="pagelinkstop">ページ: 1</p>
<table class="maintable">
<tr>
<th>投稿者</th>
<th>投稿</th>
</tr>
<tr class="tr1">
<td class="postername">
<div class="posternamecontainer"><a href="profile-332.html">haya8700158</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post617.html#post617" name="post617" rel="nofollow">#1</a> 2010 年 5 月 12 日(水) 20:20</div>
</td>
</tr>
<tr class="tr1">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 5 月 2010</div>
<div class="field">返信数: 1</div>
<div class="field"></div>
</td>
<td class="postcontent">
<div class="post">どなたかご存知の方がいたら、教えて下さい。<br /><br />PHP Version 4.3.9からPHP Version 5.1.6に移行を行い、<br />互換モード(zend.ze1_compatibility_mode On)で稼動させているのですが、<br />以下の不具合?が発生しています。<br /><br />php4とphp5+(zend.ze1_compatibility_mode=On)の違い<br />関数に配列を渡す場合、コピーが作られますが、配列の要素がクラス<br />の場合、<br /> ・php4ではクラスをコピー(clone)しています。<br /> ・php5では参照となっています。<br /><br />変数への代入も同じでした。<br /><br /><?php<br />class X { var $n; }<br />$a = array(new X(), new X());<br />$a[0]->n = 100;<br />$a[1]->n = 140;<br />$b = $a;<br />$b[0] = new X();<br />$b[0]->n = 500;<br />$b[1]->n = 1000;<br />?><br /><html><br /><body><?php var_dump($a); ?><br /><?php var_dump($b); ?></body><br /></html><br />--<br />上記の結果は a[1]には(代入していないはずの)1000が表示されます。<br /><br /><br />※テストしたアプリ<br /><br /><?php<br />require_once('z.php');<br /><br />function init()<br />{<br /> $ret = new clsX();<br /> $ret->t = 0;<br /> $a = array();<br /> $e = new clsP();<br /> $e->p1 = 10000;<br /> array_push($a, $e);<br /> $e->p1 = 15000;<br /> array_push($a, $e);<br /> $e->p1 = 40000;<br /> array_push($a, $e);<br /> $ret->a = $a;<br /> return $ret;<br />}<br /><br />session_destroy();<br />session_start();<br />$x = init();<br />setSess("X", $x);<br /><br />?><br /><html><br /><head><br /></head><br /><body><br />count=<?php echo $x->t; ?><br /><br /><?php foreach ($x->a as $v) { ?><br />p1=<?php echo $v->p1; ?>&nbsp;p2=<?php echo $v->p2; ?><br /><br /><?php } ?><br /><form action="y.php" method="post"><input type="submit" value="Next" /></form><br /></body><br /></html><br /><br /><?php<br />require_once('z.php');<br /><br />function iss_calc_estimate_with_rate($t_estimate_detail_list, $t_lease){<br /> for($i = 0; $i<count($t_estimate_detail_list); $i++){<br /> $t_estimate_detail_list[$i]->p1 = $t_estimate_detail_list[$i]->p1 * $t_lease;<br /> $t_estimate_detail_list[$i]->p2 = $t_estimate_detail_list[$i]->p1 * 0.05;<br /> }<br /> return $t_estimate_detail_list;<br />}<br /><br />//$sessBefore = nl2br(htmlspecialchars(var_export($_SESSION, true)));<br />$sessBefore = htmlspecialchars(serialize($_SESSION));<br />$x = getSess("X");<br />$x->t++;<br />setSess("X", $x);<br />$tmp = iss_calc_estimate_with_rate($x->a, 0.5);<br />setSess("X", $x);<br />setSess("tmp", $tmp);<br />//$sessAfter = nl2br(htmlspecialchars(var_export($_SESSION, true)));<br />$sessAfter = htmlspecialchars(serialize($_SESSION));<br /><br />?><br /><html><br /><head><br /></head><br /><body><br />count=<?php echo $x->t; ?><br /><br /><?php foreach ($x->a as $v) { ?><br />p1=<?php echo $v->p1; ?>&nbsp;p2=<?php echo $v->p2; ?><br /><br /><?php } ?><br /><form action="y.php" method="post"><input type="submit" value="Next" /></form><br /><form action="x.php" method="post"><input type="submit" value="Init" /></form><br /><hr /><br /><table width="100%"><br /><tr><br /><td width="50%"><?php echo $sessBefore; ?></td><br /><td width="50%"><?php echo $sessAfter; ?></td><br /></tr><br /></table><br /></body><br /></html><br /><br /><?php<br />session_cache_limiter("none");<br />session_start();<br /><br />function getSess($key)<br />{<br /> return $_SESSION[$key];<br />}<br /><br />function setSess($key, $val)<br />{<br /> return $_SESSION[$key] = $val;<br />}<br /><br />class clsX<br />{<br /> var $t;<br /> var $a;<br /> function clsX()<br /> {<br /> $this->t = null;<br /> $this->a = null;<br /> }<br />}<br /><br />class clsP<br />{<br /> var $p1;<br /> var $p2;<br /> function clsP()<br /> {<br /> $this->p1 = null;<br /> $this->p2 = null;<br /> }<br />}<br />?></div>
</td>
</tr>
</table>
<p id="toolbarbottom"> </p>
<p id="pagelinksbottom">ページ: 1</p>
<div id="bottomfix"></div>
<p id="actionlinks"></p>
<p class="locationbar">
• <a href="index.html">日本PHPユーザ会 掲示板</a> » <a href="forum-4.html">PHP 5</a> » 互換モードについて
</p>
<p id="linkbar">
</p>
<p id="bottom">
日本PHPユーザ会 掲示板 は <a href="http://www.usebb.net">UseBB 1 フォーラムソフトウェア</a> を使用しています
</p>
<div id="bottom-shadow"></div>
</div>
</div>
</div>
</body>
</html>