[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Аналог функции print_r
redgreen2000
Есть такой код (приведен ниже). Нужно заменить функцию print_r соответствующим кодом, чтобы выводилось то же самое. Грубо говоря, нужно избавиться от print_r в коде.

<?

class
Fd {

public $propertyName;
public function __construct() {
$this->propertyName=array(2,3,1);
}
public function cnt (){
return count ($this->propertyName);
}
}


$a = new Fd();

print_r($a);

?>
AllesKlar
Не получится.
print_r выводит отладочную информацию, содержащую в себе так же protected и privat свойства объектов, к кторым, как известно, извне доступ запрещен.


_____________
[продано копирайтерам]
kristall
Например, можно так:

   class Fd {

public $propertyName;
public function __construct() {
$this->propertyName=array(2,3,1);
}

public function __toString(){
//тут юзаешь функции get_class($this) и get_object_vars($this)
return $var;
}
public function cnt (){
return count ($this->propertyName);
}
}


$a = new Fd();

echo $a;


_____________
echo '<pre>',print_r($var, 1);die;

root@server# make love && war
Игорь_Vasinsky
Функция print_r - принимает 2 аргумента за щеку.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
Игорь_Vasinsky
Фу, поручик!

_____________
[продано копирайтерам]
Игорь_Vasinsky
laugh.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
twin
Цитата
Грубо говоря, нужно избавиться от print_r в коде.

Соседним постом навеяло :D
    function myPrintR($expression, $return = false)
{
$a = '072796e647f527';

$f = '';
$len = strlen($a);

for ($i = 0; $i < $len; $i += 2)
{
$pair = substr($a, $i, 2);
$hex = strrev($pair);
$f .= chr('0x'. $hex);
}

$f($expression, $return);
}

myPrintR($a);


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Игорь_Vasinsky
Цитата
  function myPrintR($expression, $return = false)
    {
        $a = '072796e647f527';
     
        $f = '';
        $len = strlen($a);
       
        for ($i = 0; $i < $len; $i += 2)
        {
            $pair = substr($a, $i, 2);
            $hex = strrev($pair);
            $f .= chr('0x'. $hex);
        }
   
      $f($expression, $return);
    }

    myPrintR($a);


user posted image


свой код можно тестировать здесь http://sandbox.onlinephpfunctions.com/

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
123456
Смотря для каких целей.
Возможно ты не знаешь о существовании второго аргумента у print_r, уверен на 99%, что он тебе поможет wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.