---
title: "php Conditionals and operators"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/192546-php-conditionals-and-operators"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Wibbskii"
published: "2014-12-12T12:45:44.000Z"
updated: "2015-01-15T22:22:40.000Z"
replies: 16
views: 3731
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/192546-php-conditionals-and-operators"
---

# php Conditionals and operators

## #1 — Wibbskii, 2014-12-12T12:45Z

När man tex skriver en if sats så finns det en massa jämförelser som tex "lika med" "lika med eller större än" osv.
Finns det någon som säger "innehåller"? Jag har letat och letat men hittar inget. Eller finns det något annat sätt man skriver på?
Jag vill plocka ut meningar med ett speciellt ord i nämligen.

Permalänk: https://www.webforum.nu/p/192546

## #2 — casca, 2014-12-12T14:30Z

Med funktionen [strpos](http://php.net/manual/en/function.strpos.php) får du ut positionen (från 0) av den sökta strängen inuti en sträng.

Permalänk: https://www.webforum.nu/p/2318071

## #3 — Wibbskii, 2014-12-15T08:58Z

Men då måste ordet man söker alltid ligga på samma ställe väl? 
Om jag tex har 3 rader
1/1 Stad
3/10 Stad
12/12 Stad 
Och vill ha träff på stad, kan jag använda mig av strpos då?

Permalänk: https://www.webforum.nu/p/2318078

## #4 — prplxr, 2014-12-15T10:22Z

Nej, det behöver det inte om du använder **strpos(höstack, nål)** så returnerar den vilken position första bokstaven i nålen har. Om den inte hittas returnerar den FALSE.

Så, ja på din sista fråga! :-D

Permalänk: https://www.webforum.nu/p/2318081

## #5 — drew, 2014-12-15T23:51Z

Tänk på att använda 

```php
if (strpos(höstack, nål) !== false)
```

eller

```php
if (strpos(höstack, nål) === false)
```

 Annars kan du missa om din nål ligger i först i höstacken (pos 0).

Permalänk: https://www.webforum.nu/p/2318087

## #6 — Wibbskii, 2014-12-16T07:32Z

Vad är det för skillnad på !== och === ?
Sen får jag ett problem. Jag har två olika nålar från samma höstack, och om man väljer 1-5 alternativ med samma nål får jag rätt svar men om man väljer 1-5 alternativ med olika nålar så visas bara höstack 1. Vad kan det bero på?
Koden ser ut såhär:

```php
<?php if (strpos($form_data['field']['32'], Östersund) !== false): ?>
	<tr>
		<td>Utbildningsplats</td>
		<td>Jämtlands Gymnasium<br>Fyrvallavägen 4<br>831 43 Östersund</td>
	</tr>
<?php endif; ?>
	<tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	</tr>
<?php if (strpos($form_data['field']['32'], Ljungby) !== false): ?>
	<tr>
		<td>Utbildningsplats</td>
		<td>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
	</tr>
<?php endif; ?>
```

Permalänk: https://www.webforum.nu/p/2318088

## #7 — casca, 2014-12-16T09:23Z

> **[Wibbskii skrev:](https://www.webforum.nu/p/1572473)**
>
> Vad är det för skillnad på !== och === ?

 [Allt finns i dokumentationen.](http://php.net/manual/en/language.operators.comparison.php) "a === b" ger TRUE om a och b är av samma typ och har samma värde, "a !== b" ger TRUE om de INTE är av samma typ och/eller har samma värde. Observera att det finns också "==" och "!=", som bara kontrollerar värdet av variabeln.

Permalänk: https://www.webforum.nu/p/2318089

## #8 — prplxr, 2014-12-16T09:34Z

> **[Wibbskii skrev:](https://www.webforum.nu/p/1572473)**
>
> Vad är det för skillnad på !== och === ?
> Sen får jag ett problem. Jag har två olika nålar från samma höstack, och om man väljer 1-5 alternativ med samma nål får jag rätt svar men om man väljer 1-5 alternativ med olika nålar så visas bara höstack 1. Vad kan det bero på?
> Koden ser ut såhär:
>
>
> ```php
> <?php if (strpos($form_data['field']['32'], Östersund) !== false): ?>
> 	<tr>
> 		<td>Utbildningsplats</td>
> 		<td>Jämtlands Gymnasium<br>Fyrvallavägen 4<br>831 43 Östersund</td>
> 	</tr>
> <?php endif; ?>
> 	<tr>
> 		<td>&nbsp;</td>
> 		<td>&nbsp;</td>
> 	</tr>
> <?php if (strpos($form_data['field']['32'], Ljungby) !== false): ?>
> 	<tr>
> 		<td>Utbildningsplats</td>
> 		<td>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
> 	</tr>
> <?php endif; ?>
> ```

Ja, den där koden kan nog inte fungera så bra iaf. Du måste till att börja med ha citattecken runt dina strängar. ("Östersund" och "Ljugby")

Permalänk: https://www.webforum.nu/p/2318090

## #9 — Wibbskii, 2014-12-16T10:07Z

> **[prplxr skrev:](https://www.webforum.nu/p/1572475)**
>
> Ja, den där koden kan nog inte fungera så bra iaf. Du måste till att börja med ha citattecken runt dina strängar. ("Östersund" och "Ljugby")

Jo den fungerar kanon om man väljer antingen Ljungby eller Östersund men inte om man väljer båda.

Jag får samma resultat om jag sätter citattecken runt "Östersund" och "Ljungby"

Är det någon som vet hur man skall göra för att få med båda när man valt både "Ljungby" och "Östersund"

Permalänk: https://www.webforum.nu/p/2318092

## #10 — prplxr, 2014-12-16T11:08Z

Vad innehåller egentligen $form_data\['field'\]\['32'\]?

Jag misstänker att det kommer från ett formulär. Är det möjligtvis multipla checkboxar med samma namn som du prövar att fylla i flera? För då är nog inte innehållet det du tror att det är i variabeln. Skriv ut den med **var_dump($form_data\['field'\]\['32'\]);** så får du se!

Permalänk: https://www.webforum.nu/p/2318093

## #11 — Wibbskii, 2014-12-16T12:06Z

Ja det stämmer att det kommer från ett formulär. Men med alternativknappar. Och jag har tänkt helt fel. Field 32 kan bara ha ett alternativ, men sen har jag field 33,34,35,36,37 och 38 som kan vara antingen Ljungby eller Östersund. Och alla behöver inte vara ifyllda så jag skall sätta en OR mellan istället tror jag?. Alltså att om något av dessa fält innehåller "Östersund" skall ett annat fält skrivas ut.

Permalänk: https://www.webforum.nu/p/2318094

## #12 — prplxr, 2014-12-16T12:38Z

Ja, då får du använda or-operatorn (\|\|) och göra jämförelsen på alla strängar. Här tror jag dock att du skulle kunna lösa detta på ett smidigare sätt, men jag vet ju inte hur ditt formulär är uppbyggt.

Lite halvrelevant fråga, varför använder du inte standardformateringen på dina if-staser?

Permalänk: https://www.webforum.nu/p/2318095

## #13 — Wibbskii, 2014-12-16T12:57Z

> **[prplxr skrev:](https://www.webforum.nu/p/1572481)**
>
> Ja, då får du använda or-operatorn (\|\|) och göra jämförelsen på alla strängar. Här tror jag dock att du skulle kunna lösa detta på ett smidigare sätt, men jag vet ju inte hur ditt formulär är uppbyggt.
> 
> Lite halvrelevant fråga, varför använder du inte standardformateringen på dina if-staser?

Jag använder mig av Gravity Forms för att göra formulären. Ja går det att lösa på ett smidigare sätt blir jag glad :) Vad behöver du veta? Detta kanske kan hjälpa. <http://dev.ctc.se/?gf_pdf=1&fid=9&lid=1155&template=utbildning.php&data=1>

Anledningen till det är för att jag är en glad nybörjare som försöker lära mig php :)

Permalänk: https://www.webforum.nu/p/2318096

## #14 — aasah, 2014-12-21T16:26Z

> **[Wibbskii skrev:](https://www.webforum.nu/p/1572482)**
>
> Jag använder mig av Gravity Forms för att göra formulären. Ja går det att lösa på ett smidigare sätt blir jag glad :) Vad behöver du veta? Detta kanske kan hjälpa. <http://dev.ctc.se/?gf_pdf=1&fid=9&lid=1155&template=utbildning.php&data=1>

Länken ger bara fel, ingen sådan tråd finns? :q

I vilket sammanhang väljs städerna? Är det som olika alternativa svar på samma fråga, eller har du fler olika frågor som har flera städer som möjliga svar?

Permalänk: https://www.webforum.nu/p/2318109

## #15 — Wibbskii, 2015-01-15T10:53Z

Ursäkta för sent svar. Jag löste det på detta sätt.

```php
<?php 
	if (strpos($form_data['field']['32'], Ljungby) !== false) {
		echo
	'<tr>
		<td><strong>Utbildningsplats Ljungby</strong><br>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
		<td>&nbsp;</td>
	</tr>';
	} elseif (strpos($form_data['field']['33'], Ljungby) !== false) {
		echo
	'<tr>
		<td><strong>Utbildningsplats Ljungby</strong><br>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
		<td>&nbsp;</td>
	</tr>';
	} elseif (strpos($form_data['field']['34'], Ljungby) !== false) {
		echo
	'<tr>
		<td><strong>Utbildningsplats Ljungby</strong><br>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
		<td>&nbsp;</td>
	</tr>';
	} elseif (strpos($form_data['field']['35'], Ljungby) !== false) {
		echo
	'<tr>
		<td><strong>Utbildningsplats Ljungby</strong><br>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
		<td>&nbsp;</td>
	</tr>';
	} elseif (strpos($form_data['field']['36'], Ljungby) !== false) {
		echo
	'<tr>
		<td><strong>Utbildningsplats Ljungby</strong><br>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
		<td>&nbsp;</td>
	</tr>';
	} elseif (strpos($form_data['field']['37'], Ljungby) !== false) {
		echo
	'<tr>
		<td><strong>Utbildningsplats Ljungby</strong><br>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
		<td>&nbsp;</td>
	</tr>';
	} elseif (strpos($form_data['field']['38'], Ljungby) !== false) {
		echo
	'<tr>
		<td><strong>Utbildningsplats Ljungby</strong><br>CTC/Enertech AB<br>Näsvägen 8<br>341 34 Ljungby<br>Tel: 0372-88 000<br><a href="http://www.ctc.se" target="_blank">www.ctc.se</a></td>
		<td>&nbsp;</td>
	</tr>';
	} else {
		echo
	'<tr>
		<td><strong>Utbildningsplats Östersund</strong><br>Jämtlands Gymnasium<br>Fyrvallavägen 4<br>831 43 Östersund</td>
		<td>&nbsp;</td>
	</tr>';
	}
 ?>
```

Permalänk: https://www.webforum.nu/p/2318163

## #16 — drew, 2015-01-15T13:37Z

Varför envisas du med att inte ha citattecken " eller ' vid dina strängar?

```php
'Ljungby'
```

Om du sätter **error_reporting(E_ALL);** ,som du bör ha när du kodar, så ser du PHP gnälla om dom.

Permalänk: https://www.webforum.nu/p/2318164

## #17 — prplxr, 2015-01-15T22:22Z

> **[drew skrev:](https://www.webforum.nu/p/1572570)**
>
> Varför envisas du med att inte ha citattecken " eller ' vid dina strängar?

Det undrar jag också. Kan man verkligen göra så?

Permalänk: https://www.webforum.nu/p/2318167

---

Tråden på webben: https://www.webforum.nu/amne/php/192546-php-conditionals-and-operators
