Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Типы данных
Форумы портала PHP.SU » » Вопросы новичков » Типы данных

Страниц (1): [1]
 

1. startdreamer - 15 Августа, 2013 - 13:45:03 - перейти к сообщению
Привет всем! Помогите кому не сложно Закатив глазки

PHP:
скопировать код в буфер обмена
  1.   $res = curl_exec($curl);
  2.  
  3.  
  4. $res2 = 1234123;
  5.        
  6.                 $site3 = 'https://techkomf.amocrm.ru/private/api/deal_add.php'; // страница авторизации
  7. $post3 = 'ACTION=ADD&deal[linked_contact]='.$res2.'&deal[main_user_id]=119157&deal[price]=1111&deal[name]='.$sn;
  8.  
  9.    curl_setopt( $curl, CURLOPT_URL, $site3 );
  10.     curl_setopt($curl, CURLOPT_POST, TRUE);
  11.     curl_setopt($curl, CURLOPT_POSTFIELDS, $post3);
  12.     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, FALSE);
  13.   curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
  14.     $resid = curl_exec($curl);


Если deal[linked_contact]='.$res2.' все корректно.
Если deal[linked_contact]='.$res.' то не получается.

Значения $res и $res2 равны.
Отличаются только типы, $res string, $res2 integer
Если пытаюсь преобразовать $res в int то возвращает 0
2. EuGen - 15 Августа, 2013 - 13:49:20 - перейти к сообщению
startdreamer пишет:
Если deal[linked_contact]='.$res.' то не получается.

Что не получается?
В Вашем случае разницы нет - ведь в любом случае Вы подставляете данные в строку, и результатом будет строка.
3. startdreamer - 15 Августа, 2013 - 13:50:37 - перейти к сообщению
EuGen пишет:
startdreamer пишет:
Если deal[linked_contact]='.$res.' то не получается.

Что не получается?
В Вашем случае разницы нет - ведь в любом случае Вы подставляете данные в строку, и результатом будет строка.


Именно, я сам поражаюсь, значения проверял, они одинаковые.
Вот ссылка на api http://www[dot]amocrm[dot]ru/add-ons/api.php
4. EuGen - 15 Августа, 2013 - 13:53:45 - перейти к сообщению
startdreamer пишет:
$res = curl_exec($curl);
$res2 = 1234123;

- займитесь стандартной отладкой, то есть
5. startdreamer - 15 Августа, 2013 - 13:59:44 - перейти к сообщению
EuGen пишет:
startdreamer пишет:
$res = curl_exec($curl);
$res2 = 1234123;

- займитесь стандартной отладкой, то есть

EuGen вот, что он мне вывел:
string(45) " 11255918 " NULL
Не работал еще ни разу с var_dump Огорчение
6. EuGen - 15 Августа, 2013 - 14:08:56 - перейти к сообщению
startdreamer пишет:
string(45) " 11255918 " NULL

- соответственно, утверждение
startdreamer пишет:
я сам поражаюсь, значения проверял, они одинаковые.

неверно - они неодинаковы, второе значение есть NULL, тогда как первое - строка из 45 символов.
7. startdreamer - 15 Августа, 2013 - 14:12:20 - перейти к сообщению
EuGen пишет:
startdreamer пишет:
string(45) " 11255918 " NULL

- соответственно, утверждение
startdreamer пишет:
я сам поражаюсь, значения проверял, они одинаковые.

неверно - они неодинаковы, второе значение есть NULL, тогда как первое - строка из 45 символов.

EuGen забыл присвоить значение, сейчас присвоил, получается $res2 это int, а $res это string.
Пытаюсь через intval и (int) сделать $res как int, возвращает 0
8. EuGen - 15 Августа, 2013 - 14:14:14 - перейти к сообщению
startdreamer пишет:
забыл присвоить значение, сейчас присвоил, получается $res2 это int, а $res это string.

Ещё раз, после исправления,
EuGen пишет:
var_dump($res, $res2)

Отладка - итеративный процесс.
9. startdreamer - 15 Августа, 2013 - 14:19:11 - перейти к сообщению
EuGen пишет:
startdreamer пишет:
забыл присвоить значение, сейчас присвоил, получается $res2 это int, а $res это string.

Ещё раз, после исправления,
EuGen пишет:
var_dump($res, $res2)

Отладка - итеративный процесс.

string(45) " 11275766 " int(123132)
Вот что мне вывел.
(Добавление)
Проблему решил:
$res был с какими то непонятными пробелами, trim() не справлялся с ними.

 

Powered by ExBB FM 1.0 RC1