Элементы выходного массива

#php #database #arrays #salesforce #soql

#php #База данных #массивы #salesforce #soql

Вопрос:

Я использую Salesforce.com Инструментарий для PHP, и я пытаюсь вывести то, что, на мой взгляд, очень просто.

ЭТО РАБОЧИЙ ПРИМЕР КОДА

 $query = "SELECT ID, Phone FROM Contact LIMIT 5";
$response = $mySforceConnection->query($query);

foreach ($response->records as $record) {
echo $record->ID." - ".$record->Phone;
}
  

Я ИЗМЕНИЛ ЗАПРОС И ТЕПЕРЬ ХОЧУ ПРОСТО ВЫВЕСТИ ИМЯ И КОЛИЧЕСТВО. ОДНАКО ПРИВЕДЕННЫЙ НИЖЕ КОД НЕ РАБОТАЕТ

 $query = "SELECT owner.name, count(type) FROM Task LIMIT 5";
$response = $mySforceConnection->query($query);

foreach ($response->records as $record) {
echo $record->owner.name; //DOES NOT WORK
}
  

ЭТО ТО, ЧТО я ПОЛУЧАЮ, КОГДА я печатаю_r ($record);

 stdClass Object ( [Id] => [any] => Array ( [0] => First Last [1] => 2177 ) ) 
  

Я просто хочу иметь возможность выводить «First Last — 2177»

Комментарии:

1. ПОЧЕМУ ТЫ КРИЧИШЬ НА МЕНЯ?!?!?!?! :@

2. Хаха, извините за неправильное использование заглавных букв!

Ответ №1:

 foreach ($response->records as $record)
{
    echo implode(' - ', $record->any);
}
  

Комментарии:

1. Аликс, если бы я хотел получить только первое имя или только количество. Как бы я это сделал без implode?

2. @st4ck0v3rfl0w: Я знал , что ты об этом спросишь! 😛 Попробуйте echo $record->any[0] и echo $record->any[1] .

3. Вы спасли мой день! Я обещаю в следующий раз лучше использовать caps 🙂

4. @st4ck0v3rfl0w: На самом деле с первым именем немного сложнее. $name = array_filter(explode(' ', $record->any[0]), 'strlen'); $name_first = $name[0]; $name_last = $name[count($name) - 1]; .