Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: WebStyleBoard. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Donnerstag, 17. März 2005, 14:32

print_r nett formatiert

mit [phpnet]print_r[/phpnet] kann man sich ja z.B. ein Array in "lesbarer Form" anzeigen lassen. Ich brauch dies recht oft, wenn ich gerade am Programmieren bin und mir zwischendrin mal schnell den Inhalt von nem Array (zB Session oder POST etc) ansehen will.

Standard is so:

PHP-Quelltext

1
2
3
4
5
6
7
$test[] = "eins";
$test[] = "zwei";
$test[] = "drei";
$test[] = "vier";
print_r($test);

// Output: Array ( [0] => eins [1] => zwei [2] => drei [3] => vier )


So ist der Output ein wenig übersichtiger:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$test[] = "eins";
$test[] = "zwei";
$test[] = "drei";
$test[] = "vier";
print_ar($test);

/* Output:
Array
(
    [0] => eins
    [1] => zwei
    [2] => drei
    [3] => vier
)
*/

function print_ar($array){
    print "<pre>";
    print_r($array);
    print "</pre>";
}
Signatur von »TheNobody Style«

2

Donnerstag, 17. März 2005, 15:07

du kannst auch einfach als content-typ text/plain uebergeben. macht imho auch mehr sinn zur fehlererkennung, wenn man grundsaetzlich die source sieht.
Signatur von »HoRnominatoR« "setz dich hin, trink ein glas wasser und warte auf deinen feierabend"

get OPERA for free

3

Donnerstag, 17. März 2005, 15:43

also entweder hab ich gerade nen Brett vor dem Kopp oder ich verstehe wirklich nicht, was du damit sagen willst. Zumindest ergibt für mich dein Beitrag rein themabezogen absolut keinen Sinn.
Signatur von »TheNobody Style«

4

Donnerstag, 17. März 2005, 16:27

ich denke nach der HoRnominatoRischen theorie bekommst du dann den quelltext zum runterladen...


mein format print hab ich in homesite integriert und sieht so aus..
echo '<pre align="left">'; print_r($array); echo '</pre>';

dann ist es auch noch lesbar wenn die website zentriert ist...

soviel dazu ;)
Signatur von »ginko« irgendwann wird uns gott vernaschen!

5

Donnerstag, 17. März 2005, 17:56

Hab dafür ne ganz tolle Classe, nicht von mir ..

PHP-Quelltext

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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
<?php
/************************************************
** Title.........: Debug Lib
** Version.......: 0.5.4
** Author........: Thomas Schüßler <tulpe@atomar.de>
** Filename......: debuglib.php(s)
** Last changed..: 16. July 2003
** License.......: Free to use. Postcardware ;)
**
*************************************************
**
** Functions in this library:
**
** print_a( array array [,int mode] )
**   prints arrays in a readable, understandable form.
**   if mode is defined the function returns the output instead of
**   printing it to the browser
**
**
** show_vars([int mode])
**   use this function on the bottom of your script to see all
**   superglobals and global variables in your script in a nice
**   formated way
**
**   show_vars() without parameter shows $_GET, $_POST, $_SESSION,
**   $_FILES and all global variables you've defined in your script
**
**   show_vars(1) shows $_SERVER and $_ENV in addition
**
**
**
** print_result( result_handle )
**   prints a mysql_result set returned by mysql_query() as a table
**   this function is work in progress! use at your own risk
**
**
**
**
** Happy debugging and feel free to email me your comments.
**
**
**
** History: (starting with version 0.5.3 at 2003-02-24)
**
**   - added tooltips to the td's showing the type of keys and values (thanks Itomic)
** 2003-07-16
**   - pre() function now trims trailing tabs
************************************************/


# This file must be the first include on your page.

/* used for tracking of generation-time */
{
        $MICROTIME_START microtime();
        @$GLOBALS_initial_count count($GLOBALS);
}

/************************************************
** print_a class and helper function
** prints out an array in a more readable way
** than print_r()
**
** based on the print_a() function from
** Stephan Pirson (Saibot)
************************************************/

class Print_a_class {

        # this can be changed to FALSE if you don't like the fancy string formatting
        var $look_for_leading_tabs TRUE;

        var $output;
        var $iterations;
        var $key_bg_color '1E32C8';
        var $value_bg_color 'DDDDEE';
        var $fontsize '8pt';
        var $keyalign 'center';
        var $fontfamily 'Verdana';
        var $export_flag;
        var $show_object_vars;
        var $export_dumper_path 'http://tools.[URL]www.mdc.xmc.de/print_a_dumper/print_a_dumper.php[/URL]';
        # i'm still working on the dumper! don't use it now
        # put the next line into the print_a_dumper.php file (optional)
        # print htmlspecialchars( stripslashes ( $_POST['array'] ) );
        var $export_hash;

        function Print_a_class() {
                $this->export_hash uniqid('');
        }

        # recursive function!
        function print_a($array$iteration FALSE$key_bg_color FALSE) {
                $key_bg_color or $key_bg_color $this->key_bg_color;

                        # if print_a() was called with a fourth parameter (1 or 2)
                        # and you click on the table a window opens with only the output of print_a() in it
                        # 1 = serialized array
                        # 2 = normal print_a() display

                        /* put the following code on the page defined with $export_dumper_path;
                        --->%---- snip --->%----

                                if($_GET['mode'] == 1) {
                                        print htmlspecialchars( stripslashes ( $_POST['array'] ) );
                                } elseif($_GET['mode'] == 2) {
                                        print_a(unserialize( stripslashes($_POST['array'])) );
                                }

                        ---%<---- snip ---%<----
                        */

                if( !$iteration && isset($this->export_flag) ) {
                        $this->output .= '<form id="pa_form_'.$this->export_hash.'" action="'.$this->export_dumper_path.'?mode='.$this->export_flag.'" method="post" target="_blank"><input name="array" type="hidden" value="'.htmlspecialcharsserialize$array ) ).'"></form>';
                }

                # lighten up the background color for the key td's =)
                if( $iteration ) {
                        for($i=0$i<6$i+=2) {
                                $c substr$key_bg_color$i);
                                $c hexdec$c );
                                ( $c += 15 ) > 255 and $c 255;
                                isset($tmp_key_bg_color) or $tmp_key_bg_color '';
                                $tmp_key_bg_color .= sprintf"%02X"$c );
                        }
                        $key_bg_color $tmp_key_bg_color;
                }

                # build a single table ... may be nested
                $this->output .= '<table style="border:none;" cellspacing="1" '.( !$iteration && $this->export_flag 'onClick="document.getElementById(\'pa_form_'.$this->export_hash.'\').submit();" )' '' ).'>';
                foreach( $array as $key => $value ) {

                        $value_style 'color:black;';
                        $key_style 'color:white;';

                        $type gettype$value );
                        # print $type.'<br />';

                        # change the color and format of the value
                        switch( $type ) {
                                case 'array':
                                        break;

                                case 'object':
                                        $key_style 'color:#FF9B2F;';
                                        break;

                                case 'integer':
                                        $value_style 'color:green;';
                                        break;

                                case 'double':
                                        $value_style 'color:red;';
                                        break;

                                case 'bool':
                                        $value_style 'color:blue;';
                                        break;

                                case 'resource':
                                        $value_style 'color:darkblue;';
                                        break;

                                case 'string':
                                        if( $this->look_for_leading_tabs && preg_match('/^\t/m'$value) ) {
                                                $search = array('/\t/'"/\n/");
                                                $replace = array('&nbsp;&nbsp;&nbsp;','<br />');
                                                $value preg_replace$search$replacehtmlspecialchars$value ) );
                                                $value_style 'color:black;border:1px gray dotted;';
                                        } else {
                                                $value_style 'color:black;';
                                                $value nl2brhtmlspecialchars$value ) );
                                        }
                                        break;
                        }

                        $this->output .= '<tr>';
                        $this->output .= '<td nowrap align="'.$this->keyalign.'" style="background-color:#'.$key_bg_color.';'.$key_style.';font:bold '.$this->fontsize.' '.$this->fontfamily.';" title="'.gettype$key ).'['.$type.']">';
                        $this->output .= $key;
                        $this->output .= '</td>';
                        $this->output .= '<td nowrap="nowrap" style="background-color:#'.$this->value_bg_color.';font: '.$this->fontsize.' '.$this->fontfamily.'; color:black;">';


                        # value output
                        if($type == 'array') {
                                $this->print_a$valueTRUE$key_bg_color );
                        } elseif($type == 'object') {
                                if( $this->show_object_vars ) {
                                        $this->print_aget_object_vars$value ), TRUE$key_bg_color );
                                } else {
                                        $this->output .= '<div style="'.$value_style.'">OBJECT</div>';
                                }
                        } else {
                                $this->output .= '<div style="'.$value_style.'" title="'.$type.'">'.$value.'</div>';
                        }

                        $this->output .= '</td>';
                        $this->output .= '</tr>';
                }
                $this->output .= '</table>';
        }
}

# helper function.. calls print_a() inside the print_a_class
function print_a$array$return_mode FALSE$show_object_vars FALSE$export_flag FALSE ) {

        if( is_array$array ) or is_object$array ) ) {
                $pa = new Print_a_class;
                $show_object_vars and $pa->show_object_vars TRUE;
                $export_flag and $pa->export_flag $export_flag;

                $pa->print_a$array );

                # $output = $pa->output; unset($pa);
                $output = &$pa->output;
        } else {
                $output '<span style="color:red;font-size:small;">print_a( '.gettype$array ).' )</span>';
        }

        if($return_mode) {
                return $output;
        } else {
                print $output;
                return TRUE;
        }
}


// shows mysql-result as a table.. # not ready yet :(
function print_result($RESULT) {

        if(!$RESULT) return;

        $fieldcount mysql_num_fields($RESULT);

        for($i=0$i<$fieldcount$i++) {
                $tables[mysql_field_table($RESULT$i)]++;
        }

        print '
                <style type="text/css">
                        .rs_tb_th {
                                font-family: Verdana;
                                font-size:9pt;
                                font-weight:bold;
                                color:white;
                        }
                        .rs_f_th {
                                font-family:Verdana;
                                font-size:7pt;
                                font-weight:bold;
                                color:white;
                        }
                        .rs_td {
                                font-family:Verdana;
                                font-size:7pt;
                        }
                </style>
                <script type="text/javascript" language="JavaScript">
                        var lastID;
                        function highlight(id) {
                                if(lastID) {
                                        lastID.style.color = "#000000";
                                        lastID.style.textDecoration = "none";
                                }
                                tdToHighlight = document.getElementById(id);
                                tdToHighlight.style.color ="#FF0000";
                                tdToHighlight.style.textDecoration = "underline";
                                lastID = tdToHighlight;
                        }
                </script>
        ';

        print '<table border="0" bgcolor="#000000" cellspacing="1" cellpadding="1">';

        print '<tr>';
        foreach($tables as $tableName => $tableCount) {
                $col == '0054A6' $col '003471' $col '0054A6';
                print '<th colspan="'.$tableCount.'" class="rs_tb_th" style="background-color:#'.$col.';">'.$tableName.'</th>';
        }
        print '</tr>';

        print '<tr>';
        for($i=0;$i mysql_num_fields($RESULT);$i++) {
                $FIELD mysql_field_name($RESULT$i);
                $col == '0054A6' $col '003471' $col '0054A6';
                print '<td align="center" bgcolor="#'.$col.'" class="rs_f_th">'.$FIELD.'</td>';
        }
        print '</tr>';

        mysql_data_seek($RESULT0);

        while($DB_ROW mysql_fetch_array($RESULTMYSQL_NUM)) {
                $pointer++;
                if($toggle) {
                        $col1 "E6E6E6";
                        $col2 "DADADA";
                } else {
                        $col1 "E1F0FF";
                        $col2 "DAE8F7";
                }
                $toggle = !$toggle;
                print '<tr id="ROW'.$pointer.'" onMouseDown="highlight(\'ROW'.$pointer.'\');">';
                foreach($DB_ROW as $value) {
                        $col == $col1 $col $col2 $col $col1;
                        print '<td valign="top" bgcolor="#'.$col.'" class="rs_td" nowrap>'.nl2br($value).'</td>';
                }
                print '</tr>';
        }
        print '</table>';
        mysql_data_seek($RESULT0);
}

function _script_globals() {
        global $GLOBALS_initial_count;

        $varcount 0;

        foreach($GLOBALS as $GLOBALS_current_key => $GLOBALS_current_value) {
                if(++$varcount $GLOBALS_initial_count) {
                        /* die wollen wir nicht! */
                        if ($GLOBALS_current_key != 'HTTP_SESSION_VARS' && $GLOBALS_current_key != '_SESSION') {
                                $script_GLOBALS[$GLOBALS_current_key] = $GLOBALS_current_value;
                        }
                }
        }

        unset($script_GLOBALS['GLOBALS_initial_count']);
        return $script_GLOBALS;
}

function show_runtime() {
        $MICROTIME_END                microtime();
        $MICROTIME_START        explode(' '$GLOBALS['MICROTIME_START']);
        $MICROTIME_END                explode(' '$MICROTIME_END);
        $GENERATIONSEC                $MICROTIME_END[1] - $MICROTIME_START[1];
        $GENERATIONMSEC        $MICROTIME_END[0] - $MICROTIME_START[0];
        $GENERATIONTIME        substr($GENERATIONSEC $GENERATIONMSEC08);

        return '<span style="color:red;font-weight:normal;font-size:9px;">(runtime: '.$GENERATIONTIME.' sec)</span>';
}


######################
# function shows all superglobals and script defined global variables
# show_vars() without the first parameter shows all superglobals except $_ENV and $_SERVER
# show_vars(1) shows all
# show_vars(,1) shows object properties in addition
#
function show_vars($show_all_vars FALSE$show_object_vars FALSE) {
        if(isset($GLOBALS['no_vars'])) return;

        $script_globals _script_globals();
        print '
                <style type="text/css">
                .vars-container {
                        font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif;
                        font-size: 8pt;
                        padding:5px;
                }
                .varsname {
                        font-weight:bold;
                }
                </style>
        ';

        print '<br />
                <div style="border-style:dotted;border-width:1px;padding:2px;font-family:Verdana;font-size:10pt;font-weight:bold;">
                DEBUG '.show_runtime().'
        ';

        $vars_arr['script_globals'] = array('global script variables''#7ACCC8');
        $vars_arr['_GET'] = array('$_GET''#7DA7D9');
        $vars_arr['_POST'] = array('$_POST''#F49AC1');
        $vars_arr['_FILES'] = array('$_POST FILES''#82CA9C');
        $vars_arr['_SESSION'] = array('$_SESSION''#FCDB26');
        $vars_arr['_COOKIE'] = array('$_COOKIE''#A67C52');

        if($show_all_vars) {
                $vars_arr['_SERVER'] =  array('SERVER''#A186BE');
                $vars_arr['_ENV'] =  array('ENV''#7ACCC8');
        }

        foreach($vars_arr as $vars_name => $vars_data) {
                if($vars_name != 'script_globals') global $$vars_name;
                if($$vars_name) {
                        print '<div class="vars-container" style="background-color:'.$vars_data[1].';"><span class="varsname">'.$vars_data[0].'</span><br />';
                        print_a($$vars_nameFALSE$show_object_varsFALSE );
                        print '</div>';
                }
        }
        print '</div>';
}


######################
# function prints sql strings
#
function pre($sql_string$simple_mode FALSE) {

        if(!$simple_mode) {
                # erste leere Zeile im SQL löschen
                $sql_string preg_replace('/\^s+/m',''$sql_string);
                # letze leere Zeile im SQL löschen
                $sql_string preg_replace('/\s+$/m',''$sql_string);

                # kleinste Anzahl von führenden TABS zählen
                preg_match_all('/^\t+/m'$sql_string$matches);
                $minTabCount strlen(min($matches[0]));

                # und entfernen
                $sql_string preg_replace('/^\t{'.$minTabCount.'}/m'''$sql_string);
        }

        print '<pre>'.$sql_string.'</pre>';
}
?>


Das Ergebnis sieht bei

PHP-Quelltext

1
2
$arr = array("Eins","Zwei","Drei",array("Drei.Eins","Drei.Zwei","Drei.Drei"));
print_a$arr );


dann so aus wie im Anhang..

Tobias
Signatur von »t-ob-i« {SIGNATUR}

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »t-ob-i« (17. März 2005, 18:03)


6

Donnerstag, 17. März 2005, 18:01

ich meine ganz simpel einen header mit content-type text/plain zu uebergeben - was sich zB in der webentwicklung anbietet, um grunsaetzlich die source zu lesen. somit ist es leichter, fehler in html-quelltexten und deren bezuege zu arrays/klassen direkt auszumachen.
Signatur von »HoRnominatoR« "setz dich hin, trink ein glas wasser und warte auf deinen feierabend"

get OPERA for free

7

Donnerstag, 17. März 2005, 18:21

@HoRnominatoR
ich glaube du verkennst maximalst den Sinn und Zweck von print_r() ... bzw. der von mir geposteten Funktion print_ar(). Hier geht es in keinster Weise um den Bezug von HTML mit irgendwelche Arrays oder Klassen, sondern einzig um das Anzeigen vom Inhalt einer Variable bzw. eines Arrays um mal auf die Schnelle den Inhalt dieser zu überprüfen. Es geht hier um PHP und nicht um HTML ... desweiteren kann ich mich zwar irren, aber ich versteh beim besten Willen nicht, wie ich per "einen header mit content-type text/plain" irgendwelche Fehlerquellen im PHP-Script finden soll. Dafür gibt es error_reporting etc.

@tobi
das wäre wie mit ner Atombombe ne Mücke umzunieten :pleased:

print_ar() gäbe mir für deinen Array folgenden Output:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
    [0] => Eins
    [1] => Zwei
    [2] => Drei
    [3] => Array
        (
            [0] => Drei.Eins
            [1] => Drei.Zwei
            [2] => Drei.Drei
        )

)
Signatur von »TheNobody Style«

8

Donnerstag, 17. März 2005, 19:13

nicht jeder fehler gibt eine meldung aus - es gibt auch logische fehler.
und wenn du etwas per

Quellcode

1
<pre>[...]</pre>


ausgibst, geht es hier wohl um HTML - was man auch schlichtweg ueber header('content-type: text/plain') ausgeben lassen kann - so hat man genau das gleiche ergebnis + die moeglichkeit, alle ausgaben direkt und ungerendert zu ueberpruefen.
Signatur von »HoRnominatoR« "setz dich hin, trink ein glas wasser und warte auf deinen feierabend"

get OPERA for free

9

Donnerstag, 17. März 2005, 21:35

HoRnominatoR, versteh mich bitte nicht falsch, aber:
Du liegt thematisch scheinbar tierisch auf der falschen Baustelle.

Kein Mensch hat irgendwas von Fehlern gesagt und hier ging es nie darum, irgendwelche Fehler anzeigen zu wollen ... weder logische noch unlogische. Und das einzige, was hier mit HTML zu tun hat, ist die Funktion von <pre> und zwar das Einrückungen so wiedergegeben werden, wie sie beim Editieren eingegeben wurden. Zu diesem Zweck bietet HTML die Möglichkeit der "präformatierten Textabschnitte" an. (zitat selfhtml)

Es geht hier lediglich, den Inhalt einer Variable schön anzuzeigen (incl. Einrückungen) ... nicht mehr und auch nicht weniger.

Nehmen wir also nochmal das Array von tobi

PHP-Quelltext

1
$arr = array("Eins","Zwei","Drei",array("Drei.Eins","Drei.Zwei","Drei.Drei"));


Nun will ich in der Programmierphase (ES GEHT NICHT UM DEN ENDGÜLTIGEN OUTPUT) mir den Inhalt dieses Arrays anzeigen lassen um mal schnell den Inhalt zu checken.
Benutze ich nun die PHP-Funktion print_r($arr), so bekomme ich als Output:

Quellcode

1
Array ( [0] => Eins [1] => Zwei [2] => Drei [3] => Array ( [0] => Drei.Eins [1] => Drei.Zwei [2] => Drei.Drei ) )


Kombiniere ich aber nun die Funktion print_r() mit <pre> .. also meine oben gepostete print_ar($arr), so bekomme ich als Output:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
    [0] => Eins
    [1] => Zwei
    [2] => Drei
    [3] => Array
        (
            [0] => Drei.Eins
            [1] => Drei.Zwei
            [2] => Drei.Drei
        )

)

Alles schön eingerückt und übersichtlich (was besonders bei grossen Array vorteilhaft is) ...

DIES IST DER EINZIGE SINN UND ZWECK DIESES CODESCHNIPSELS


Zitat

was man auch schlichtweg ueber header('content-type: text/plain') ausgeben lassen kann - so hat man genau das gleiche ergebnis + die moeglichkeit, alle ausgaben direkt und ungerendert zu ueberpruefen.

Wenn du mal geguckt hättest, dann wüsstest du, dass dies hier nicht passt, da du so nicht den gesamten Inhalt eines Arrays anzeigen lassen kannst. Es sei denn, du baust irgendwelch rekursiv-foreach-Gedöns. Mir war schon klar was du meintest ... nur hat das halt nix mit dem Thema hier zu tun.

so dele ... und nix für ungut ;)
TNS
Signatur von »TheNobody Style«

10

Donnerstag, 17. März 2005, 22:13

Zitat von »TheNobody Style«

HoRnominatoR, versteh mich bitte nicht falsch, aber:
Du liegt thematisch scheinbar tierisch auf der falschen Baustelle.


ganz und garnicht - du willst ein array halbwegs menschenlesbar ausgeben.

Zitat von »TheNobody Style«

Es geht hier lediglich, den Inhalt einer Variable schön anzuzeigen (incl. Einrückungen) ... nicht mehr und auch nicht weniger.


wozu man auch einfach einen entsprechenden header uebergeben kann.

Zitat von »TheNobody Style«

Wenn du mal geguckt hättest, dann wüsstest du, dass dies hier nicht passt, da du so nicht den gesamten Inhalt eines Arrays anzeigen lassen kannst. Es sei denn, du baust irgendwelch rekursiv-foreach-Gedöns. Mir war schon klar was du meintest ... nur hat das halt nix mit dem Thema hier zu tun.


warum sollte ich nicht den gesamten inhalt bekommen? was fuer rekursion?
Signatur von »HoRnominatoR« "setz dich hin, trink ein glas wasser und warte auf deinen feierabend"

get OPERA for free

11

Donnerstag, 17. März 2005, 23:47

manmanman ... ich glaub, ich brech hier noch wech ...
du solltest dir angewöhnen, vielleicht mit codebeispielen zu hantieren.
Du meinst wohl dieses:

PHP-Quelltext

1
2
3
4
5
6
<?php
header("Content-type: text/plain");

$arr = array("Eins","Zwei","Drei",array("Drei.Eins","Drei.Zwei","Drei.Drei"));
print_r$arr );
?>

Jetzt weiss ich wohl, was du meinst, aber:

1. Der IE ignoriert diesen header scheinbar ... zumindest hier bei mir und zeigt den Output nicht als <pre>-Text an
2. Die Handhabe ist einfach zu umständlich ... so nutze ich einfach eine Funktion und muss nicht noch extra nen header hinschreiben etc
3. Es ist (m)ein Weg und ich bin so nett und tue es der Gemeinschaft kund.
Signatur von »TheNobody Style«

12

Freitag, 18. März 2005, 00:22

Zitat von »TheNobody Style«

manmanman ... ich glaub, ich brech hier noch wech ...
du solltest dir angewöhnen, vielleicht mit codebeispielen zu hantieren.


vielleicht - aber nicht, wenn du glaubst zu wissen was ich meine.

Zitat von »TheNobody Style«

1. Der IE ignoriert diesen header scheinbar ... zumindest hier bei mir und zeigt den Output nicht als <pre>-Text an
2. Die Handhabe ist einfach zu umständlich ... so nutze ich einfach eine Funktion und muss nicht noch extra nen header hinschreiben etc
3. Es ist (m)ein Weg und ich bin so nett und tue es der Gemeinschaft kund.


1. ok, wenn man den IE benutzt, kann man ja deine methode waehlen
2. es ist nicht einfacher, dein script jedes mal includen oder neuschreiben zu muessen
3. und ich bin so nett, alternativen aufzuzeigen
Signatur von »HoRnominatoR« "setz dich hin, trink ein glas wasser und warte auf deinen feierabend"

get OPERA for free

13

Freitag, 18. März 2005, 08:18

Ich mache es im Prinzip genauso wie TNS und bin bis jetzt ganz gut damit gefahren.

Da wo ich es brauche, baue ich printr (oder print_ar) ein. Wenn alles tut, wie's soll, wird per Suchen&Ersetzen ein // vornmedran geschrieben und schon sind die Debug-/Test-/Wasauchimmerausgaben weg.

Wenn ich einen anderen Header sende, würde (so es überhaupt funktioniert) komplett alles ausgegeben werden wie ich es schreibe. Ich möchte aber teilweise, dass ich die Ausgabe einfach im gerenderten HTML stehen habe. Ist irgendwie einfacher zu lokalsisieren für mich.

Vgl. dazu bitte http://www.howtodo.de/showcase/debug

Ich finde TNS' Variante braauchbarer, hat sie doch die Vorteile, dass man noch mit der Seite interagieren kann und die Testausgaben recht schnell findet
Signatur von »mrhappiness« Ich denke, also bin ich. Einige sind trotzdem...