4

これは非常に単純な配列の印刷ですが、print_r を使用すると最後になります。

<?php 
  $user_names = array(1, 2, 3, 4);
  $results = print_r($user_names);
  echo $results;
?>

それから私は得る:

 Array
 (
     [0] => 1
     [1] => 2
     [2] => 3
     [3] => 4
 )
 1
4

5 に答える 5

0

2番目の引数をprint_r指定しなかったため、印刷自体が実行され、1が返されます。次に、これを保存して印刷します。試す:

$results = print_r($user_names, true);

print_rのドキュメントを確認してください:

の出力をキャプチャする場合はprint_r()、returnパラメータを使用します。このパラメーターがTRUEに設定されている場合、print_r()は情報を出力するのではなく返します。

于 2013-01-03T19:37:05.813 に答える
0

print_r結果を画面に出力します。印刷する代わりに文字列を返す必要がある場合は、関数に2番目の引数を渡す必要があります。

<?php 
$user_names = array(1, 2, 3, 4);
$results = print_r($user_names, true);
echo $results;

詳細:http://php.net/manual/en/function.print-r.php

于 2013-01-03T19:34:08.080 に答える
0

print_r 実際に結果を出力します。結果を返したい場合は、次を使用します。print_r($user_name, true)'

したがって、これらのいずれかがあなたが望むことをします。

<?php 
  $user_names = array(1, 2, 3, 4);
  print_r($user_names);
 ?>

また

 <?php 
   $user_names = array(1, 2, 3, 4);
   $results = print_r($user_names,true);
    echo $results;
   ?>
于 2013-01-03T19:34:12.143 に答える
0

あなたはそれを得る

echo $results;

$resultsには、TRUE (1) であるprint_r関数の結果が含まれているため

print_r は、エコーする代わりに文字列を返すことができます。これを行うには、2 番目の引数 - true を渡す必要があります。

$results = print_r($user_names, true);

したがって、2 つのオプションがあります。echo $results を削除するかそのままにして、2 番目の引数を print_r に渡します。

于 2013-01-03T19:31:56.320 に答える