Как я смотрю на метаданные столбца в Sybase?

<?php
$csv = array_map('str_getcsv', file('filename.csv'));

for ($j = 1; $j < count($csv); $j++) {
    for ($i = 0; $i < count($csv[0]); $i++) {
        $myArray[$csv[0][$i].$j] = $csv[$j][$i];
    }
}

print_r($myArray);

Не самое элегантное решение, но оно подойдет вам. Я использовал петли for, чтобы мне было проще использовать их счетчики. Выходной результат:

Array
(
    [firstName1] => test1
    [lastName1] => Test1
    [email1] => test1@gmail.com
    [firstName2] => test2
    [lastName2] => Test2
    [email2] => test2@gmail.com
)

И мой CSV-файл выглядел так:

firstName,lastName,email
test1,Test1,test1@gmail.com
test2,Test2,test2@gmail.com

Первый цикл запускает счетчик с позиции 1, поэтому я избегаю заголовков и буду зацикливаться основной массив CSV.

Вложенный цикл будет проходить через каждый из вложенных массивов и на основе 1-го, который содержит информацию заголовка, объединит новые ключевые поля и создаст ваш новый массив.

Если вы хотите, чтобы оно было в точности , как в вашем примере, с квадратными скобками и счетчиком, начинающимся с 0 для ключевого поля, то вы можете просто: выведет для вас массив, как вы и просили в своем вопросе:

Array
(
    [firstName[0]] => test1
    [lastName[0]] => Test1
    [email[0]] => test1@gmail.com
    [firstName[1]] => test2
    [lastName[1]] => Test2
    [email[1]] => test2@gmail.com
)
7
задан Michael Gardner 4 June 2015 в 14:41
поделиться

1 ответ

syscolumns содержит метаданные столбца.

выберите * из syscolumns где имя =;

Идентификационный столбец в syscolumns является идентификатором таблицы столбца в sysobjects;

select b.name as tablename, a.name as columnname
from syscolumns a join systables b on (a.id = b.id) 
where b.type='U' and b.name = 'foo';

получает все столбцы для таблицы, названной 'нечто'. Тип = 'U' ограничивает его пользовательскими таблицами.

select b.name as tablename, a.name as columnname
from syscolumns a join systables b on (a.id = b.id) 
where b.type='U' and a.name = 'foo';

получает все столбцы, названные 'нечто'.

Актуальнейшая версия ASE будет использовать sysbojects вместо systables

17
ответ дан 6 December 2019 в 09:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: