Konwersja string na boolean zamiast int |
Konwersja string na boolean zamiast int |
4.02.2021, 19:41:32
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.02.2021 Ostrzeżenie: (0%) |
Cześć, potrzebuję pomocy. Mianowicie jeżeli konwertuję string na int, to nie zamienia się on w int tylko boolean. Nie wiem o co chodzi, jestem świeży w temacie Z góry dziękuję!
Kod wygląda nastepująco, pobieram promptem string i chcę go przekonwertować na int, ponieważ w dalszej fazie będzie mi potrzebny $numer function prompt($prompt_msg){ echo("<script language='javascript'> let answer = prompt('".$prompt_msg."'); </script>"); $answer = "<script language='javascript'> document.write(answer); </script>"; return($answer); } $prompt_msg = "Podaj numer"; $numer = prompt($prompt_msg); echo gettype($numer); echo $numer; $numer = settype($numer, "int"); echo gettype($numer); echo $numer; Ten post edytował pawelekkk123 4.02.2021, 19:57:27 |
|
|
4.02.2021, 21:13:27
Post
#2
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) |
Ponieważ funkcja settype zwraca true jeżeli zamiana się powiedzie i false jeśli nie. Jak robisz echo tej funkcji to wpisze Ci co zwraca.
|
|
|
4.02.2021, 22:29:38
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.02.2021 Ostrzeżenie: (0%) |
Dziękuję, tylko w takim razie pojawia się taki problem, że gdy mój string ma np. wartość 2 i zamieniłem go na typ int, to wartość nie jest równa 2 tylko 0
Ten post edytował pawelekkk123 4.02.2021, 22:33:33 |
|
|
4.02.2021, 23:03:15
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 762 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Błędem jest na pewno próba przypisania wartości z JavaScript do zmiennej w PHP (4 linia w kodzie).
-------------------- |
|
|
4.02.2021, 23:04:01
Post
#5
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) |
Eee no co Ty, robię taki kod:
Kod $number = '2'; settype($number,'int'); echo gettype($number); echo $number; i ładnie zmienia mi dwójkę na int. Zamiast settype() możesz zrobić rzutowanie bezpośrednie: Kod $number = '123456';
$number = (int)$number; Ten post edytował gino 4.02.2021, 23:04:24 |
|
|
4.02.2021, 23:11:15
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 762 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Tak jak napisałem w moim wcześniejszym poście - robisz błąd logiczny.
Zmienna $numer ma zawsze wartość: "<script language='javascript'> document.write(answer); </script>", więc możesz wpisywać w prompcie JS cokolwiek. -------------------- |
|
|
4.02.2021, 23:28:16
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.02.2021 Ostrzeżenie: (0%) |
Dziękuję za informacje. Wiecie może czy jest jakaś szansa, żeby pobrać tą cyfrę w jakiś sposób promptem lub jakkolwiek inaczej i wpisać ją do zmiennej $numer, a następnie skonwertować na int?
|
|
|
5.02.2021, 00:06:02
Post
#8
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) |
Nie wiem jak wywołujesz tą funkcję, ale całość można zrobić w js, nie musisz kombinować i łączyć php i js, bo o błędy logiczne nie trudno. W js masz parseInt() do zamiany string na intiger.
|
|
|
5.02.2021, 00:26:33
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.02.2021 Ostrzeżenie: (0%) |
Tylko potrzebuję czegoś takiego, że przed wejściem na stronę podaję cyfrę i jest ona mi następnie potrzebna jako int w kolejnym etapie. Ewentualnie pobrać ją w jakiś innym sposób, tylko nie mam pomysłu niestety. Jeśli ktoś miałby jakieś rozwiązanie, to jestem w stanie zapłacić za chwilę poświęconego czasu.
|
|
|
5.02.2021, 01:13:38
Post
#10
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) |
Przypisanie zmiennej js do php jest problematyczne bo php wykonuje się na serwerze a js lokalnie. Twoja funkcja zwraca cały ciąg znaków o którym pisał trueblue i dlatego funkcja settype czy (int) zwróci 0 czyli false (niepowodzenie konwersji typu). Umieść na stronie formularz z polem input i tą wartość z tego formularza prześlij i obrób z czystym php.
Ten post edytował gino 5.02.2021, 01:15:28 |
|
|
5.02.2021, 08:33:48
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.02.2021 Ostrzeżenie: (0%) |
Jak zrobię w formularzu inputa pobiorę i prześlę wartość, to wiesz może jak tę wartość mam wpisać do zmiennej w php?
|
|
|
5.02.2021, 08:35:38
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 366 Pomógł: 1115 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Jest coś takiego jak manual, warto go czasami przeczytać: https://www.php.net/manual/en/language.vari...es.external.php
-------------------- |
|
|
5.02.2021, 15:38:20
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.02.2021 Ostrzeżenie: (0%) |
Dziękuję, pomógł mi ten link
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.05.2024 - 16:23 |