<?php
$val = "NEW";
$arr = [1 => "red", 2 => "green", 3 => "blue", 4 => "yellow"];
//находим индекс элемента со значением "green"
$index = array_search("green", $arr);
//получаем срез массива до элемента "green" включительно
$tmp_arr = array_slice($arr, 0, $index);
//вставляем новый элемент после "green"
$tmp_arr[] = $val;
//собираем новый массив
$arr = array_merge(
$tmp_arr,
array_slice($arr, $index, count($arr))
);
print_r($arr);