получить правильное значение переменной php

Предполагая, что это какая-то домашняя работа, и вы хотите сделать это сами ..

Я сделал это один раз, вам нужен стек

. Итак, что вы делаете для примера, :

    parse    what to do?                Stack looks like
      (      push it onto the stack     (
      5      push 5                     (, 5
      +      push +                     (, 5, +
      2      push 2                     (, 5, +, 2
      )      evaluate until (           7            
      *      push *                     7, *
      7      push 7                     +7, *, 7
      eof    evaluate until top         49

Символы типа «5» или «+» могут быть просто сохранены как строки или простые объекты, или вы можете сохранить объект + в качестве объекта + (), не устанавливая значения и не устанавливая их когда вы оцениваете.

Я предполагаю, что это также требует порядка приоритета, поэтому я опишу, как это работает.

в случае: 5 + 2 * 7

вам нужно нажать 5 push + push 2, следующий op - более высокий приоритет, поэтому вы также нажимаете его, затем нажмите на три. Когда вы сталкиваетесь либо с a), либо с концом файла или с более низким или равным приоритетом, вы начинаете вычислять стек до предыдущего (или начала файла.

Поскольку ваш стек теперь содержит 5 + 2 * 7, когда вы его оцениваете, сначала вы набираете 2 * 7 и нажимаете результирующий * (2,7) узел на стек, затем еще раз вы оцениваете три основные вещи в стеке (узел 5 + *), поэтому дерево Правильно.

Если было заказано другое: 5 * 2 + 7, вы нажимаете до тех пор, пока не попадете в стек с «5 * 2», тогда вы достигнете более низкого приоритета +, что означает оцените, что у вас есть сейчас. Вы оцениваете 5 * 2 в * узел и нажимаете его, а затем продолжаете, нажимая + и 3, чтобы у вас был * узел + 7, после чего вы оценили это.

Это означает, что у вас есть «самый высокий текущий приоритет», который хранит 1, когда вы нажимаете +/-, a 2, когда вы нажимаете * или / и 3 ​​для «^». Таким образом, вы можете просто проверить переменную, чтобы увидеть, будет ли ваш следующий оператор вл етс & lt; = ваш текущий приоритет.

if ")" считается приоритетом 4, вы можете рассматривать его как другие операторы, за исключением того, что он удаляет совпадение "(", более низкий приоритет не будет.

-2
задан riccardo airone 1 March 2019 в 00:58
поделиться

2 ответа

вам нужно использовать javascript, чтобы получить значение. Я не уверен, что такое данные $ etc, но в основном вам нужно создать функцию javascript и передать значение в функцию onclick image.

Пример:

PHP

for($i=0;$i<count($certificazioni);$i++){
     $etc=certificazioni[$i];
 ....
     ?>
    <img src="/cubo/addDocument.png"/ height="24" width="24" data-toggle="modal" data-target="#addEvento" onclick="return viewImage(<?php echo $etc; ?>)">
    <?php
   }

HTML-модал

Добавить дополнительный div к модалу код

<div id="outputHere"></div>

JavaScript

<script>
      function viewImage(image) {
        // do what you need with the data, which is in this case to append to the modal

        document.getElementById('outputHere').innerHTML = image;
        // this example is only to append the value. you can modified it to suit your needs (html code or anything)
      }
</script>
0
ответ дан Afif Zafri 1 March 2019 в 00:58
поделиться

Я думаю, что вы пытаетесь открыть конкретный модал при нажатии на изображение, и если это так, попробуйте следующее:

for($i=0;$i<count($certificazioni);$i++){
    $etc=certificazioni[$i];
    ....
    <img src="/cubo/addDocument.png"/ height="24" width="24" data-toggle="modal" data-target="#addEvento<?= $i ?>">

    <div class="modal fade" id="addEvento<?= $i ?>" tableindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
            <?php echo $etc; ?>
}

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

0
ответ дан Nadz Mangandog 1 March 2019 в 00:58
поделиться
Другие вопросы по тегам:

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