---
title: "Fel efter byte till php 4.2.2"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/48531-fel-efter-byte-till-php-4-2-2"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Asterix"
published: "2002-07-23T15:46:29.000Z"
updated: "2002-07-23T17:23:15.000Z"
replies: 3
views: 170
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/48531-fel-efter-byte-till-php-4-2-2"
---

# Fel efter byte till php 4.2.2

## #1 — Asterix, 2002-07-23T15:46Z

Här under ser ni ett av mina script. Nyligen bytte mitt webhotel till php 4.2.2 och då la det av att funka. Felet som jag hittade var att if ($key !== NULL) { inte längre funkade. Jag bytte ut det mot if ($key != '') { och detta verkar funka. Är det någon som vet om det första alternativet om är borttaget, eller???

```php
$nr = 0;
if (count ($m_order_id)) {
  echo join (",", $m_order_id);
  $nr += count ($m_order_id);

  $key = array_search ($last, $m_order_id);
  if ($key !== NULL) {
    echo "FEL";
    $m_order_id = array_slice ($m_order_id, 0, $key + 1);
  }
  $m_order_id = join (",", $m_order_id);
  echo "$m_order_id<br>";
  mysql_query ("UPDATE m_order SET s_date = '". time() ."' WHERE id IN($m_order_id)") or die (mysql_error());
}
if (count ($p_order_id) and $key === NULL) {
  echo join (",", $p_order_id);
  $nr += count ($p_order_id);

  $key = array_search ($last, $p_order_id);
  if ($key !== NULL) {
    $p_order_id = array_slice ($p_order_id, 0, $key + 1);
  }

  $p_order_id = join (",", $p_order_id);
  echo "$p_order_id<br>";
  mysql_query ("UPDATE p_order SET gratis_klar = '". time() ."' WHERE id IN($p_order_id)") or die (mysql_error());
}
```

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

## #2 — SPiN, 2002-07-23T15:52Z

Nej, det är nog inte borttaget. === eller !== använder man om man vill kolla om en variabel är **identiskt** ( OBS, inte jämföra värde ) med en annan.

Följande borde inte fungera:

```
$i = 0;
$n = 0;
if( $i === $n ) {
     echo "Nu är det något skumt med PHP!";
}
```

Medan följande borde fungera:

```
$i = 0;
$n = &$i;
if( $i === $n ) {
     echo "Nu stämmer det nog!";
}
```

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

## #3 — Asterix, 2002-07-23T17:20Z

Men det står om man går in på [array_search](http://se.php.net/array_search) så står det att man ska använda sig av === eller har jag fel?

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

## #4 — Asterix, 2002-07-23T17:23Z

Hittade längre ner i kommentarerna på att de har ändrat. Man ska nu använda sig av: $key !== null && $key !== false för att det inte ska strula på varken äldre eller nyare versioner av php.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/48531-fel-efter-byte-till-php-4-2-2
