2009-02-24 3 views
4
  • Значение $ total_results = 10
  • $ total_results в объекте, в соответствии с GetType()
  • Я не могу использовать математические операторы на $ total_results, потому что это не является числовым
  • Пробовал $ total_results = intval ($ total_results), чтобы преобразовать в целое число, но не повезло
  • уведомления я получаю: Объект класса Zend_Gdata_Extension_OpenSearchTotalResults не может быть преобразован в целом

Как преобразовать в целое число?Преобразование объекта в целое число в PHP

ответ

7

ли эта работа?

$val = intval($total_results->getText()); 
5
$results_numeric = (int) $total_results; 

или, может быть, это:

$results_numeric = $total_results->count(); 
+0

Нет кости с любой из этих –

+0

(INT) не делает то же самое, как вызов intval(). –

+0

Но int на 300-600% быстрее –

1

Возможно, объект имеет метод сборки, чтобы получить его как целое число?

В противном случае попробуйте это очень Hacky подход (relys на __toString() возвращение, что 10)

$total_results = $total_results->__toString(); 
$total_results = intval($total_results); 

Однако если объект имеет встроенный в немагическом методе, вы должны использовать это!

1

Вы можете ознакомиться с методами класса here. Тогда вы можете попробовать различные методы самостоятельно. Например, есть метод getText().

+0

Я новичок в OO, спасибо за указание/напоминание о методах класса. –

1

попробовать

class toValue { 
    function __toString() 
    { 
     return '3'; // you must return a string 
    } 
} 

$a = new toValue; 

var_dump("$a" + 2); 

результат: INT (5)

Смежные вопросы