|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2000-11-01 11:46 UTC] ignacio at openservices dot net
(FYI: actually using 2000.10.27 CVS)
Here's a good one.
I have an array $kind:
"""
Array
(
[Advertising Space] => Array
(
[] => Array
(
[0] => 100
[1] => 160
)
)
...
)
"""
I pull a record ($row1) from an MS-SQL table (via Sybase-CT):
"""
Array
(
[0] => Advertising Space
[KindNm] => Advertising Space
[1] =>
[SubKindNm] => // This is a null string: ""; strlen() gives 0
[2] =>
[SubSubKindNm] =>
[3] => 100
[GrantKindID] => 100
)
"""
I then do a 'print_r($kind[$row1["KindNm"]][$row1["SubKindNm"]]);':
"""
<br>
<b>Warning</b>: Undefined offset: 0 in <b>/path/to/script/script.php3</b> on line <b>(line with print_r)</b><br>
"""
I know that it's the second index because 'print_r($kind[$row1["KindNm"]]);' works just fine.
So somewhere along the line "" is being changed to 0.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Sun Jun 14 15:00:01 2026 UTC |
Well, you see, I can't reproduce it without database code. Here's a smaller version that emulates the data structures: """ <?php $row1=Array( 0 => "Advertising Space", "KindNm" => "Advertising Space", 1 => "", "SubKindNm" => "", 2 => "", "SubSubKindNm" => "", 3 => 100, "GrantKindID" => 100 ); $kind=Array( "Advertising Space" => Array( "" => Array( 0 => 100, 1 => 160 ) ) ); print("<pre>"); print_r($kind[$row1["KindNm"]][$row1["SubKindNm"]]); print("</pre>"); ?> """ The problem: it works perfectly. Here's the actual trouble code: """ <?php error_reporting(2047); ... while ($row1=mssql_fetch_array($result1)) { $val=$row1["GrantKindID"]; if (empty($row1["SubSubKindNm"])) { print_r($kind[$row1["KindNm"]][$row1["SubKindNm"]]); if (isset($kind[$row1["KindNm"]][$row1["SubKindNm"]])) { $k=$kind[$row1["KindNm"]][$row1["SubKindNm"]]; $val=$k[0].":".$k[1]; }; }; ?> <option value="<?=$val?>"><?=$val?></option> <?php }; ?> """ $kind is also much larger than the small one given above, but I'm not convinced that that has anything to do with this problem.