#php #sql #oracle
#php #sql #Oracle
Вопрос:
У меня есть база данных Oracle, которая служит массивом из ~ 70 значений. Я пытаюсь найти наиболее эффективный код для передачи каждого значения ячейки в переменную, предпочтительно закодированную на PHP.
Пример:
Cell1 Cell2 Cell3 Cell4 ... Cell70
Передайте каждую ячейку 1-70 переменной, названной в честь этой ячейки:
($CELL1, $CELL2, $CELL3, $CELL4 ... $CELL70)
Комментарии:
1. Почему вы хотите сделать это, а не просто иметь одну переменную, которая является массивом?
2. Я должен был указать: эти переменные представляют собой отдельные показатели, которые мне нужно опубликовать на моем веб-сайте, поэтому одна переменная в этом случае не будет работать. Я обновлю OP.
3. Почему бы и нет? В чем разница между использованием
$array["Cell1"]
и$Cell1
?4. Потому что я не знал, что смогу это сделать xD Большое спасибо, @ExplosionPills
Ответ №1:
Я не вижу практической причины использовать несколько переменных над массивом, но теоретически вы могли бы использовать переменные переменные:
for ($i = 0; $i < count($arr); $i ) {
${"Cell" $i} = $arr[$i];
}
Вместо этого было бы намного проще просто использовать $arr["Cell1"]
в тех местах, где вы можете захотеть использовать $Cell1
.
Ответ №2:
Было бы НАМНОГО проще просто использовать массив:
$arr = oci_fetch_array(...);
таким образом, вы не загрязняете пространство имен кучей (в основном) бесполезных переменных.
Если вы НАСТАИВАЕТЕ на том, чтобы идти по этому пути, вы могли бы попробовать:
list($cell1, $cell2, $cell3, ...., $cellWayTooManyCells) = oci_fetch_array(...);
Или
$arr = oci_fetch_assoc(...);
extract($arr);
Комментарии:
1. Я понимаю, что использование массива будет работать лучше, но тогда как я буду вызывать каждое значение по отдельности, учитывая, что они мне нужны на разных страницах по всему сайту? Большое спасибо за ответ! Это чрезвычайно полезно.
2. «разные страницы»? как в разных PHP-скриптах, создающих несколько страниц? Вы не должны извлекать поля / значения, которые вы не собираетесь использовать. например
select field_you_need_to_use from ...
, вместоselect *
.select *
когда вы используете только пару полей, это все равно, что пойти в магазин grossery, купить ВЕСЬ инвентарь, отвезти все это домой, а затем выбросить все, кроме моноблока, который вы хотели, в корзину.3. Моя идея, которая может показаться глупой теперь, когда вы все ответили на мой вопрос, изначально заключалась в том, чтобы создать variables.php файл, который мне потребуется на страницах, которые мне нужны. Оттуда я мог бы вызвать переменную. Ваш способ намного проще, спасибо! Я, очевидно, новичок в PHP / HTML. Всего неделя в lol.