redgreen2000
8.04.2015 - 13:50
Есть такой код (приведен ниже). Нужно заменить функцию 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
8.04.2015 - 14:28
Не получится.
print_r выводит отладочную информацию, содержащую в себе так же protected и privat свойства объектов, к кторым, как известно, извне доступ запрещен.
_____________
[продано копирайтерам]
kristall
8.04.2015 - 14:31
Например, можно так:
class Fd {
public $propertyName;
public function __construct() {
$this->propertyName=array(2,3,1);
}
public function __toString(){
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
8.04.2015 - 15:46
Функция 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
8.04.2015 - 16:59
Игорь_Vasinsky
Фу, поручик!
_____________
[продано копирайтерам]
Игорь_Vasinsky
8.04.2015 - 19:03
_____________
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
Цитата |
Грубо говоря, нужно избавиться от 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);
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Игорь_Vasinsky
8.04.2015 - 20:53
Цитата |
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); |
свой код можно тестировать здесь
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
Смотря для каких целей.
Возможно ты не знаешь о существовании второго аргумента у print_r, уверен на 99%, что он тебе поможет